Die Werte Null
werden als '\ N' angezeigt, wenn eine externe Strukturtabelle abgefragt wird.Sqoop Import Nullzeichenfolge
Unten ist die Sqoop Importskript:
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 --Verbindungsmanager org.apache.sqoop.teradata.TeradataConnManager \ - -username $ user --password $ PWD --query "
select col1, col2, col3 von $ db.xxx
wo \ $ BEDINGUNGEN" \ --null-Zeichenkette '\ N' --null-Nicht-Zeichenkette '\ N' \ --fields-terminiert von '\ t' --num-mappers 6 \ --split-by jobnummer \ --delete-Zielverzeichnis \ --target-dir $ hdfs_loc
Bitte raten, welche Änderung an das Skript durchgeführt werden sollte, so dass NULL-Werte als Nullen angezeigt werden, wenn die externe hive Tabelle abgefragt wird.
Mit '--null-string' \ N''werden die null-non-string-Werte in HDFS als "null" geschrieben, aber Ihre Richtlinien haben es funktioniert :) Sie werden korrekt als Nullwerte gelesen. –