大数据bug-sqoop(二:sqoop同步mysql数据到hive进行字段限制。)

一:sqoop脚本解析。

sql 复制代码
#!/bin/sh
mysqlHost=$1
mysqlUserName=$2
mysqlUserPass=$3
mysqlDbName=$4
sql=$5
split=$6
target=$7
hiveDbName=$8
hiveTbName=$9
partFieldName=${10}
inputDate=${11}
 
echo ${mysqlHost}
echo ${mysqlUserName}
echo ${mysqlUserPass}
echo ${mysqlDbName}
echo ${sql}
echo ${split}
echo ${target}
echo ${hiveDbName}
echo ${hiveTbName}
echo ${partFieldName}
echo ${inputDate}
 
 
sqoop import "-Dorg.apache.sqoop.splitter.allow_text_splitter=true" \
--connect jdbc:mysql://${mysqlHost}/${mysqlDbName}?tinyInt1isBit=false \
--username ${mysqlUserName} \
--password ${mysqlUserPass} \
--query "${sql}" \
--split-by ${split}  \
--target-dir ${target}  \
--hive-overwrite \
--delete-target-dir \
--fields-terminated-by '\t' \
--null-string "" \
--hive-import \
--null-non-string "false" \
--hive-database ${hiveDbName} \
--hive-table ${hiveTbName} \
--hive-drop-import-delims \
--hive-partition-key ${partFieldName} \
--hive-partition-value ${inputDate}
  1. 新增加三个参数
    1. --query "{sql}" \\ 这个参数添加对应表的sql语句。注意结尾必须添加 CONDITIONS ,必须添加where 条件,如果没有where条件,写成where 1=1。案例如下:
      "select id,key_id,key_type,'' as encryption_cert_chain,device_type,account_id_hash,user_identifier,user_id,request_id,device_id,vehicle_id,vehicle_identifier,device_info,device_oem_id,key_data,import_immobilizer_token_request_data,friendly_name,digital_key_status,digital_key_status_in_vehicle,digital_key_status_in_device,key_valid_from,key_valid_to,shared_keys,shareable_keys,manufacturer,state_in_vehicle,state_in_device,key_status_for_vehicle,'' as device_enc_public_key,'' as digital_key_public_key,'' as digital_key_cert,'' as instance_ca_cert,entitlement,rights,slot_id,protocol_type,group_identifier,verify_result,deleted,create_time,update_time,fsn,action_type from kts_key where 1=1 and \$CONDITIONS"

    2. --split-by ${split} \ 这个参数是切分数据的分割字段,一般来讲是mysql的主键。

    3. --target-dir ${target} \ 这个参数指一个路径。可以随意指定一个目录,

二:命令。

sql 复制代码
  sh  test.sh 99.99.99.99:3306 \
bigdata 123222 ssss  "select  id,key_id,key_type,'' as encryption_cert_chain,device_type,account_id_hash,user_identifier,user_id,request_id,device_id,vehicle_id,vehicle_identifier,device_info,device_oem_id,key_data,import_immobilizer_token_request_data,friendly_name,digital_key_status,digital_key_status_in_vehicle,digital_key_status_in_device,key_valid_from,key_valid_to,shared_keys,shareable_keys,manufacturer,state_in_vehicle,state_in_device,key_status_for_vehicle,'' as device_enc_public_key,'' as digital_key_public_key,'' as digital_key_cert,'' as instance_ca_cert,entitlement,rights,slot_id,protocol_type,group_identifier,verify_result,deleted,create_time,update_time,fsn,action_type from kts_key where 1=1 and  \$CONDITIONS"  id "/tmp/test" ods ods_okp p_dt 2023-08-15
相关推荐
KD871490013 小时前
宁波ISO9001认证:立足宁波制造,对标世界标准
大数据·人工智能·制造
加勒比海带666 小时前
目标检测算法——低空智能实验室开放数据集汇总附下载链接【点赞+收藏】
大数据·图像处理·人工智能·python·深度学习·目标检测·计算机视觉
SelectDB7 小时前
基于 SelectDB 实现 Hive 数据湖统一分析:洋钱罐全球一体化探索分析平台升级实践
大数据·数据库·数据分析
跨境卫士苏苏7 小时前
跨境电商成本持续上升卖家利润空间如何守住
大数据·人工智能·跨境电商·亚马逊·跨境
小小王app小程序开发7 小时前
组局搭子小程序开发攻略|零技术入局,抢占社交娱乐新风口
大数据
黎阳之光7 小时前
去标签化定位时代:黎阳之光自研技术,可见即可定位,无感亦能解算
大数据·人工智能·算法·安全·数字孪生
跨境猫小妹8 小时前
平台评价体系调整跨境卖家如何提升转化率
大数据·人工智能
电商API&Tina8 小时前
1688 拍立淘接口(item_search_img)测试与接入实战心得
java·大数据·前端·物联网·oracle·json
captain_AIouo8 小时前
Captain AI:智能运营破局——OZON商家增长引擎
大数据·人工智能·经验分享·aigc