Я пытаюсь создать внешнюю таблицу 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');