【问题标题】:Loading unstructured CSV data into Hive将非结构化 CSV 数据加载到 Hive
【发布时间】:2016-03-20 21:37:37
【问题描述】:

我想将包含 250000 个帖子的 CSV 文件从 Stack Exchange 加载到 Hive。 CSV 采用以下格式:

    Id  Score   ViewCount   ParentId    Body    DisplayName rnk

每个字段都由“,”分隔,但将所有内容搞砸的字段是正文。

正文包含网站上前 250000 个帖子的内容,因此其中包含各种字符,因此每行有一个帖子,有 250000 行。

我已经阅读了 Serde 和 Regexp,但我的 Hive 表中仍然出现空值。

    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;

【问题讨论】:

    标签: csv hive


    【解决方案1】:

    我通常使用ogrodnek's serde,你可能会更幸运。另外我认为你没有正确地逃避你的特殊角色,我相信你需要

    "quoteChar"     = "\"",
    "escapeChar"    = "\\"
    

    【讨论】:

    • 感谢 maxymoo,我尝试在我的代码中使用 Ogrodnek 的 serde:ROW FORMAT SERDE 'com.bizo.hive.serde.csv.CSVSerde' 但我收到了一个无法验证与 com.bizo 相关的错误。 ..我想我需要安装 jar 文件才能工作。你知道如何在 Azure 云上的 Hortonworks Sandbox 上安装这个 JAR 文件吗?
    • 你有 ssh 访问运行 hive 的盒子吗? (我没有使用过 azure,所以不知道设置是什么样的)。如果你这样做,只需将 jar 复制到你的主目录,然后在你的 hive 脚本开始处运行add jar /home/hadoop/hive/csv-serde-1.1.2-0.11.0-all.jar
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-10
    • 1970-01-01
    • 2016-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多