【问题标题】:PostgreSQL Sqoop import + data line break issuePostgreSQL Sqoop 导入+数据换行问题
【发布时间】:2021-11-03 21:36:42
【问题描述】:

我们正在尝试使用 apache sqoop 将 PostgreSQL 数据导入 Hadoop 环境。其上,确定了 SQOOP 的直接(关键字:--direct)模式导入,使用 PostgreSQL 的 COPY 操作将数据快速导入 HDFS。如果该列具有换行符(\n)作为值,则将 QUOTE 添加到列值中(示例如下:1),该值被视为 HIVE 表中的另一条记录(加载数据输入路径)。是否有其他方法可以使这项工作?

E1: Sample data in HDFS (tried importing with: Default or --input-escaped-by '\' or --input-escaped-by '\n' doesn't help)
value1,"The some data 
has line break",value3

Hive 表将其视为 2 条记录。(提供:--hive-delims-replacement '' 似乎 HDFS 级别的数据有 \n hive 检测为新记录)

value1          "the same data  NULL
has line break"  value3         NULL

似乎 apache 退出了这个项目,它似乎不再支持错误修复或任何版本。

你们中的任何人都遇到过同样的问题,或者任何人都可以帮助我解决这个问题吗?

注意:我可以使用非直接和选择查询模式导入。

【问题讨论】:

    标签: hadoop sqoop


    【解决方案1】:

    您可以尝试将数据导出为非文本格式(例如 Parquet、“-as-parquetfile”sqoop 标志)。这将解决新行的问题。

    【讨论】:

    • 嗨,facha,在 postgresql sqoop 导入的直接模式下,它使用 CSV 作为文件格式,似乎不支持其他格式。
    猜你喜欢
    • 1970-01-01
    • 2014-07-23
    • 2013-03-02
    • 1970-01-01
    • 2015-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多