使用
impala
查詢hbase
時,如果是「
=」條件查詢,如果不新增
is not null
條件,則會把該列沒有值的記錄也查詢出來(
空字串不會
),比如:
select * from user where name=』xiao wang』
,該語句會查詢出
name
等於xiao wang
和null
的資料。
select * from user where name=』xiao wang』 and name is not null
則不會查詢出
name
為null
的記錄
在hbase
中通過singlecolumnvaluefilter
過濾器實現「
=」條件時如果不設定
filterifmissing
也會有如此效果,當設定
setfilterifmissing(true);
後會過濾掉
null
的記錄,比如:
singlecolumnvaluefilter filter = new singlecolumnvaluefilter("fml".getbytes(), "name".getbytes(), compareop.equal, "xiao wang".getbytes());
filter.setfilterifmissing(true);//預設值為false,需設定為true
但是impala
似乎不是採用的
hbase
的過濾器實現的條件查詢,看impala的架構介紹應該是記憶體比較,從現象看匪夷所思,具體原因還需後續調查,先記錄在案。
Impala 條件函式
支援的條件函式列表 case 標準通用的函式 coalesce 標準通用函式 decode oracle和impala專用函式 if impala和mysql的函式 ifnull impala和mysql的函式 isfalse isnotfalse isnottrue isnull istrue n...
impala中的條件判斷
coalesce x,y,z,返回輸入引數中的第乙個非空值,如果所有輸入引數均為null,則返回null if boolean表示式,真時返回值,假或null時候的返回值 根據乙個表示式的結果為true false null,來返回相應的結果值。返回型別與輸入引數型別相同。5 isnull x,y ...
impala查詢語句 Impala的元件和架構介紹
impala是由cloudera公司開發的新型查詢系統,能夠對儲存在hdfs hbase以及s3上的資料進行快速的互動式sql查詢。另外,impala與hive使用了統一的儲存系統 同樣的元資料庫 sql語法 hive sql odbc驅動和使用者互動介面 hue impala對實時的或者面向批處理...