从 hdfs 到 hive 的 Csv 文件摄取

标签 csv hadoop hive hiveql

我正在尝试使用以下命令将 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/

相关文章:

hadoop - java.io.IOException : Invalid int encoding 异常

hadoop - 配置单元是否创建单独的数据副本

sql - 当所有值都匹配时如何选择数据

hadoop - Hive 理解表创建

php - 如何处理大型 CSV 文件以插入到 mysql 中

python - 在单元格中写入带有分隔符的 CSV 文件(两点)

python - 从 DataFrame 中提取自定义标题列名称,用 NA 估算缺失的列

.net - CSV(或 XLS 中的工作表)到 SQL 使用 .Net 创建(和插入)语句?

python - 如何使用python读取hadoop映射文件?

hadoop编译