1. 程式人生 > >利用sqoop指定列指定條件的方式將資料從mysql中增量匯入hive表中

利用sqoop指定列指定條件的方式將資料從mysql中增量匯入hive表中

========1、sqoop增量(指定列指定條件的方式增量匯入hive表中)匯入hive指令碼======= #!/bin/bash #Set the RDBMS connection params rdbms_ip=$1 rdbms_connect="jdbc:mysql://${rdbms_ip}:**/*******?useUnicode=true&characterEncoding=UTF-8" rdbms_username="****" rdbms_password="*****" #Set the source table in RDBMS rdbms_table="*****" rdbms_columns="**,**,**,**,**,**" #Set the hive tables hive_full_table="******" hive_database="*****" cast_column="content" yesterday_param1=$2 nowday_param2=$3 sqoop-import --connect ${rdbms_connect} --driver com.mysql.jdbc.Driver --username ${rdbms_username} --password ${rdbms_password} --table ${rdbms_table} --columns ${rdbms_columns} --where "createTime >=${yesterday_param1} and createTime <${nowday_param2}" -m 4 --hive-import --hive-database ${hive_database} --hive-table ${hive_full_table} --fields-terminated-by "\001" --lines-terminated-by "\n" --hive-drop-import-delims --map-column-java ${cast_column}=String --delete-target-dir   註釋:--hive-drop-import-delims 刪掉欄位中的\n \t \r\n等字元 不刪掉的話,若欄位中存在\n \t等這種字元,容易導致hive表中的資料位置錯亂,我就遇到了這個問題