impala條件查詢問題

2021-09-01 21:37:25 字數 908 閱讀 5997

使用

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對實時的或者面向批處理...