gpt4 book ai didi

oracle - 在 Sqoop 中使用 HCatalog 时,hive-drop-import-delims 不删除换行符

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

Sqoop 在与 HCatalog 导入一起使用时无法从列数据中删除新行 (\n),即使在使用 Oracle 运行 Apache Sqoop 时在命令中使用 --hive-drop-import-delims 选项也是如此。

Sqoop 查询:

    sqoop import --connect jdbc:oracle:thin:@ORA_IP:ORA_PORT:ORA_SID \
--username user123 --password passwd123 -table SCHEMA.TBL_2 \
--hcatalog-table tbl2 --hcatalog-database testdb --num-mappers 1 \
--split-by SOME_ID --columns col1,col2,col3,col4 --hive-drop-import-delims \
--outdir /tmp/temp_table_loc --class-name "SqoopWithHCAT" \
--null-string ""

Oracle Column col4中的数据如下:(数据有控制字符如^M)

<li>Details:^M
<ul>^M
<li>

是否控制字符导致此问题?

我错过了什么吗?此问题是否有任何解决方法或解决方案?

最佳答案

使用 --map-column-java 选项明确声明该列的类型为 String。然后 --hive-drop-import-delims 按预期工作(从数据中删除 \n)。

更改的 Sqoop 命令:

sqoop import --connect jdbc:oracle:thin:@ORA_IP:ORA_PORT:ORA_SID \
--username user123 --password passwd123 -table SCHEMA.TBL_2 \
--hcatalog-table tbl2 --hcatalog-database testdb --num-mappers 1 \
--split-by SOME_ID --columns col1,col2,col3,col4 --hive-drop-import-delims \
--outdir /tmp/temp_table_loc --class-name "SqoopWithHCAT" \
--null-string "" --map-column-java col4=String

关于oracle - 在 Sqoop 中使用 HCatalog 时,hive-drop-import-delims 不删除换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28076200/

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