Можно ли использовать case..when выражение в сценарии создания внешней таблицы Hive? - PullRequest
0 голосов
/ 08 марта 2019

Я пытаюсь создать внешнюю таблицу Hive поверх таблицы HBase, созданной с помощью сценария phoenix.

Если значение столбца в HBase равно "true", я хочу, чтобы оно заполнялось в Hive как 1, иначе 0. Как это сделать?

Я пытался использовать выражение case..when при попытке создать внешнюю таблицу Hive, как показано ниже. Это не сработало. Пожалуйста, порекомендуйте. Спасибо!

CREATE external TABLE hiveExtTables.hiveExtTestTable (rowkey STRING,
COLFAMILY_app_id STRING,
COLFAMILY_app_name STRING)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' 
WITH SERDEPROPERTIES ('hbase.columns.mapping' = ':key,
CASE WHEN COLFAMILY:app_id='true' THEN 1 
WHEN COLFAMILY:app_id='false' THEN 0 
ELSE COLFAMILY:app_id END AS COLFAMILY:app_id,
COLFAMILY:app_name) TBLPROPERTIES ( 'hbase.table.name' = 'HBASE_TEST_TABLE');
...