gpt4 book ai didi

hadoop - Sqoop 导入空字符串

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

查询 Hive 外部表时,Null 值显示为 '\N'。

下面是sqoop导入脚本:

sqoop import -libjars /usr/lib/sqoop/lib/tdgssconfig.jar,/usr/lib/sqoop/lib/terajdbc4.jar -Dmapred.job.queue.name=xxxxxx \ --connect jdbc:teradata://xxx.xx.xxx.xx/DATABASE=$db,LOGMECH=LDAP --connection-manager org.apache.sqoop.teradata.TeradataConnManager \ --username $user --password $pwd --query "

select col1,col2,col3 from $db.xxx

where \$CONDITIONS" \ --null-string '\N' --null-non-string '\N' \ --fields-terminated-by '\t' --num-mappers 6 \ --split-by job_number \ --delete-target-dir \ --target-dir $hdfs_loc

请告知应该对脚本进行哪些更改,以便在查询外部配置单元表时将空值显示为空值。

最佳答案

Sathiyan- 以下是我经过多次试验后的发现

  1. 如果在 sqoop 导入期间不包含 (null string) 属性,则 NULL 在 HDFS 中存储为 [blank for integer columns] 和 [blank for string columns] .2.如果查询HDFS之上的HIVE表,我们会看到[NULL for integer column]和[blank for String columns]
  2. 如果在 sqoop 导入期间包含 (--null-string '\N') 属性,则 NULL 将存储为 ['\N' 两个整数和字符串列]。
  3. 如果查询 HDFS 之上的 HIVE 表,我们会看到 [NULL 对于整数和字符串列不是 '\N']

关于hadoop - Sqoop 导入空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40290383/

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