gpt4 book ai didi

sql-server - 通过 sqoop 从 SQL Server 导入和导出数据,字段包含各种文本

转载 作者:行者123 更新时间:2023-12-02 20:34:53 25 4
gpt4 key购买 nike

我正在尝试通过 HDFS/Sqoop 将表从 SQL Server 导入和导出到 DB2。

我正在使用

--fields-terminated-by '\001' 
--lines-terminated-by '\002'
--hive-replace-delims '<hivedelims>'
and/or --hive-drop-import-delims

我几乎可以完成所有事情,但是......

SQL Server 中的某些列的类型为 nvarchar(max)并包含文本形式的数据,例如
"...[CR][LF] ..." 

或包含竖线字符的 XML 文本:“|”

或包含\n 或 [LF] 或 [CR].... 等的简单文本。

显然该列可以包含任何类型的文本....

我想将这些单元格作为一个 block 导入 HDFS 并将它们同样作为一个 block 导出到 DB2 ...

我是通过使用 import-all-tables 而不是一个一个来导入的,否则我考虑过对那些特定的表/列使用 --map-column-java ..?

但是,由于上述原因,我尝试过的任何组合都会给我留下一些无法导出的表,因为它们被解释为不同数量的列。

我希望这是有道理的,否则我更愿意用一些实际数据来详细说明(匿名,因为它们包含敏感数据)

在此先感谢您的任何建议。

最佳答案

好的,我终于用以下方法解决了它:

在 sqoop 导入所有表部分:

--hive-drop-import-delims \
--fields-terminated-by '\001' \
--lines-terminated-by '\n' \

在 sqoop 导出部分:
--input-fields-terminated-by '\001' \
--input-lines-terminated-by '\n' \

这照顾了一切。

现在我的内存用完了,但那完全是另一回事了;-)

希望它可以对其他人有所帮助。

关于sql-server - 通过 sqoop 从 SQL Server 导入和导出数据,字段包含各种文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51597804/

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