将非结构化CSV数据加载到配置单元
我想将一个CSV文件从Stack Exchange加载到配置单元中,该文件包含250000篇文章。CSV采用以下格式:将非结构化CSV数据加载到配置单元,csv,hive,Csv,Hive,我想将一个CSV文件从Stack Exchange加载到配置单元中,该文件包含250000篇文章。CSV采用以下格式: Id Score ViewCount ParentId Body DisplayName rnk 每个字段都用“,”分隔,但将所有内容搞乱的字段是Body 正文包含了网站上排名前250000的帖子的内容,所以里面有各种各样的字符,所以每行有一篇250000行的帖子 我已经阅读了Serde和Regexp,但在我的配置单元表中仍然得到空值 C
Id Score ViewCount ParentId Body DisplayName rnk
每个字段都用“,”分隔,但将所有内容搞乱的字段是Body
正文包含了网站上排名前250000的帖子的内容,所以里面有各种各样的字符,所以每行有一篇250000行的帖子
我已经阅读了Serde和Regexp,但在我的配置单元表中仍然得到空值
CREATE TABLE dataStore(Id string, Score string, ViewCount string, ParentId string, Body String, DisplayName String, Rank String)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
WITH SERDEPROPERTIES (
"separatorChar" = ",",
"quoteChar" = """",
"escapeChar" = "\"
)
STORED AS TEXTFILE;
我通常使用,你可能会有更多的运气。此外,我认为你没有适当地摆脱你的特殊性格,我相信你需要
"quoteChar" = "\"",
"escapeChar" = "\\"
感谢maxymoo,我尝试在代码中使用Ogrodnek的serde:ROW FORMAT serde'com.bizo.hive.serde.csv.CSVSerde',但我收到一个与com.bizo相关的无法验证错误。。。。我想我需要安装jar文件才能工作。你知道我如何在Azure云上的Hortonworks沙盒上安装这个JAR文件吗?你有ssh权限访问运行hive的盒子吗?(我没有使用azure,所以不知道安装情况如何)。如果这样做,只需将jar复制到主目录,然后在配置单元脚本开始时运行
add jar/home/hadoop/hive/csv-serde-1.1.2-0.11.0-all.jar