Hive impala创建外部表并删除双引号
我获得了CSV数据,例如: “女性”、“44”、“0”、“0”、“是”、“政府工作”、“城市”、“103.59”、“32.7”、“以前吸烟” 我把它作为hdfs和hdfs放在一起 现在我想从它在impala上创建外部表(不在hive中) 有没有不带双引号的选项 这是我由黑斑羚壳公司经营的:Hive impala创建外部表并删除双引号,hive,hdfs,cloudera,impala,Hive,Hdfs,Cloudera,Impala,我获得了CSV数据,例如: “女性”、“44”、“0”、“0”、“是”、“政府工作”、“城市”、“103.59”、“32.7”、“以前吸烟” 我把它作为hdfs和hdfs放在一起 现在我想从它在impala上创建外部表(不在hive中) 有没有不带双引号的选项 这是我由黑斑羚壳公司经营的: CREATE EXTERNAL TABLE IF NOT EXISTS test_test.test1_ext ( `gender` STRING,`age` STRING,`hypertension` ST
CREATE EXTERNAL TABLE IF NOT EXISTS test_test.test1_ext
( `gender` STRING,`age` STRING,`hypertension` STRING,`heart_disease` STRING,`ever_married` STRING,`work_type` STRING,`Residence_type` STRING,`avg_glucose_level` STRING,`bmi` STRING,`smoking_status` STRING )
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
LOCATION "/user/test/tmp/test1"
更新28.11
我通过创建外部,然后创建一个视图作为select with case,当concat()每个列时。Impala使用配置单元元存储,因此在发出无效元数据dbname.tablename后,在配置单元中创建的任何内容都可以从Impala获得。但是,要删除引号,您需要使用Hive Serde库“org.apache.hadoop.Hive.serde2.OpenCSVSerde”,这是从Impala无法访问的。我的建议如下:
性别
字符串,年龄
字符串,高血压
字符串,心脏病
字符串,已婚
字符串,工作类型
字符串,居住类型
字符串,平均血糖水平
字符串,体重指数
字符串,吸烟状态
字符串)
行格式SERDE'org.apache.hadoop.hive.serde2.OpenCSVSerde'
具有serdeproperty
(
“separatorChar”=“,”,
“quoteChar”=“\”
)存储为文本文件 位置“/user/test/tmp/test1”
通过这种方法,我需要创建包含所有数据的表。我的建议是在impala上创建外部,然后在concat()每个列时创建带有case的视图。您不能使用impala中的SERDE作为我的答案状态。我的方法不需要使用SERDE