我正在尝试使用以下命令将 csv 文件从我的 hdfs 摄取到配置单元。
create table test (col1 string, col2 int, col3 string)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
WITH SERDEPROPERTIES ("separatorChar" = ",","quoteChar" = "\"")
stored as textfile;
但是我的配置单元表中仍然出现双引号,所以我尝试了下面的命令。
alter table test
set TBLPROPERTIES ('skip.header.line.count'='1','serialization.null.format' = '');
但仍然得到双引号。我该怎么做才能删除这些双引号?
最佳答案
您需要指定文件位置。
例如:
CREATE TABLE test (col1 string, col2 int, col3 string)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
WITH SERDEPROPERTIES ("separatorChar" = ",")
STORED AS textfile
LOCATION 'hdfs://<your-data-node-address>:8020/hdfs/path/to/csv/files-dir';
当我以这种方式创建表格时,我的表格中的值没有引号(源 csv 文件确实有)
关于从 hdfs 到 hive 的 Csv 文件摄取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41286392/