gpt4 book ai didi

sql - Hive 外部表由逗号分隔,但数据中存在逗号

转载 作者:可可西里 更新时间:2023-11-01 16:27:44 25 4
gpt4 key购买 nike

我有一些来自外部格式的数据:

user_id, user_name, project_name, position
"111", "Tom Petty", "Heartbreakers", "Vocals"
"222", "Ringo Starr", "Beatles, The", "Drummer"
"333", "Tom Brady", "Patriots", "QB"

然后我创建了我的外部表:

CREATE EXTERNAL TABLE tab1 (
USER_ID String,
USER_NAME String,
PROJECT_NAME String,
POSITION String
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE
LOCATION '/user/blah/foo'

当某些列中的数据中嵌入了逗号时会出现问题,例如 Beatles, The。这导致 Hive 将单词 The 放入下一列(位置)并将数据放入最后一列。

所有传入的数据字段都用双引号括起来,但它们是用逗号分隔的,即使它们中可能有逗号。不幸的是,让发件人清理数据不是一种选择。

我怎样才能创建这个表?

最佳答案

试试这个

ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
WITH SERDEPROPERTIES (
"separatorChar" = "\t",
"quoteChar" = "\""
)

关于sql - Hive 外部表由逗号分隔,但数据中存在逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56282225/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com