创建table语句并添加条件以在IMPALA中将None值替换为NULL



Bellow是我的创建表语句。一些值以";无";并希望向我的CREATE TABLE语句添加一个条件,以检查是否有一个值等于"0";无";将其替换为NULL。Impala没有中间表,然后用CASE STATMENT 将数据ETL到最终表,这可能吗

CREATE TABLE IF NOT EXISTS customer_db.customers_table(
`customer_id` BIGINT NOT NULL ENCODING AUTO_ENCODING COMPRESSION DEFAULT_COMPRESSION,
`ts` BIGINT NOT NULL ENCODING AUTO_ENCODING COMPRESSION DEFAULT_COMPRESSION,
`customer_name` STRING NULL DEFAULT NULL ENCODING AUTO_ENCODING COMPRESSION DEFAULT_COMPRESSION,
PRIMARY KEY (customer_id, ts)
)
PARTITION BY RANGE (`ts`)(PARTITION VALUE = 0)
STORED AS KUDU

更新:将数据导入为CSV。使用Notepad++将none替换为null导入它https://docs.cloudera.com/machine-learning/cloud/import-data/topics/ml-loading-csv-data-into-an-impala-table.html

尝试使用创建表作为选择查询

None是无法通过create table命令转换为null的数据所以只导入临时表中的数据

然后使用create table作为select列,然后将列替换为选择查询中无为空

创建[EXTERNAL]表[IF NOT EXISTS]数据库名称。]表名称[分区依据(col_name[,…](][SORT BY([column[,column…]](][COMENT'table_COMMENT']

  • [ROW FORMAT ROW_FORMAT][带SERDEPROPERTIES('key1'='value1','key2'='value2',…(]
  • [存储为ctas_file_format][位置"hdfs_path"]
  • [CACHED IN 'pool_name' [WITH REPLICATION = integer] | UNCACHED]
    
    [TBLPROPERTIES('key1'='value1','key2'='value2',…(]作为select语句

最新更新