我有这个 bash 脚本。
JDBC_CON=$1
USERNAME=$2
PASSWORD=$3
HIVE_DB=$4
TABLE_NAME=$5
QUERY=$6
maxlength=500
COLUMN=$7
TARGET_DIR=$8
MAPPER=$9
echo $QUERY
sqoop import -Dorg.apache.sqoop.splitter.allow_text_splitter=true \
--connect $JDBC_CON --username $USERNAME --password $PASSWORD \
--hive-import --hive-database $HIVE_DB --hive-table $TABLE_NAME \
--fetch-size 1000 --delete-target-dir --compression-codec org.apache.hadoop.io.compress.SnappyCodec \
--as-textfile --query "$QUERY" \
--split-by $COLUMN --target-dir $TARGET_DIR -m $MAPPER;
当我通过 Talend Tsystem 运行它时,变量 Query 被拆分为不同的变量。
共享日志直到损坏。
信息] 08:21:52 xxx_xxx.import_data_0_6.Import_Data-TalendJob:'Import_Data' - 开始。[统计] 连接到端口 10739 上的套接字 [统计] 已连接 [INFO] 08:21:52 aycap_dev.import_data_0_6.Import_Data- tFileInputDelimited_1 - 从数据源检索记录。[信息] 08:21:52 aycap_dev.import_data_0_6.Import_Data-tSystem_1 - 设置参数。[信息] 08:21:52 aycap_dev.import_data_0_6.Import_Data-tSystem_1 - 根目录:'/home/talenduser/dm/'。[信息] 08:21:52 aycap_dev.import_data_0_6.Import_Data-tSystem_1 - 执行命令。[INFO] 08:21:52 aycap_dev.import_data_0_6.Import_Data-tSystem_1 - 要执行的命令:'sh -x import_data.sh xxxxxx talend xxxxxx default tablename SELECT /* FROM tablename WHERE $CONDITIONS column1 /user/hive/tmp'。[信息] 08:21:52 aycap_dev.import_data_0_6。Import_Data- tSystem_1 - 命令已成功执行。选择警告:/opt/cloudera/parcels/CDH-7.1.6-1.cdh7.1.6.p0.10506313/bin/../lib/sqoop/../accumulo 不存在!Accumulo 导入将失败。请将 $ACCUMULO_HOME 设置为 Accumulo 安装的根目录。
- JDBC_CON=jdbc:oracle:thin:@//xxxxxxx/orcl
- 用户名=talend
- 密码=xxxx
- HIVE_DB=默认
- TABLE_NAME=表名
- 查询=选择
- 列='*'
- TARGET_DIR=从
- MAPPER=TALEND.tablename
- 回声选择
- sqoop import -Dorg.apache.sqoop.splitter.allow_text_splitter=true --connect xxxxxx --username talend --password xxxxx --hive-import --hive-database default--hive-table xxxxx --fetch-size 1000 - -delete-target-dir --compression-codec org.apache.hadoop.io.compress.SnappyCodec --as-textfile --query SELECT --split-by /bin /boot /data /dev /etc /home /keytab /lib /lib64 /media /mnt /opt /proc /root /run /sbin /srv /sys /tmp /usr /var --target-dir FROM -m 表名
有人可以帮我解决这个问题。