SQOOP(1),2024年最新理解透彻

本文介绍了SQOOP在2024年的最新理解和使用,涉及SQOOP的导出、密码管理以及从MySQL到Hive的数据迁移。通过具体的案例展示了如何使用SQOOP进行数据过滤、导出到Oracle以及处理SQL查询中的特殊字符。同时,文中还提到了SQOOP在处理数据时的注意事项,如双引号和单引号的转义规则。
摘要由CSDN通过智能技术生成

–m 1
–merge-key id
由于merge-key模式是进行了一次完整的mapreduce操作,
因此最终我们在lastmodifiedresult文件夹下可以看到生成的为part-r-00000这样的文件,会发现id=1的name已经得到修改,同时新增了id=6的数据。

4. 但双引号以及转义

A. 双引号

–query 后双引号特殊符号需要转义,

  • $condition是==> “xxx $conditions”;
  • SQL 关键字 result 需要转义 ==> `result`\
  • <>号不用转义
B. 单引号

–query 后 单 引号特殊符号可以不转义

3. sqoop export

A. 参数

– 没有推出全量覆盖,所以我们才有 sqoop eval 先删除对方MySQL、oracle 数据
– hive-overwrite 是sqoop import的参数

A1.探索测试

在这里插入图片描述
在这里插入图片描述

B. 案例

在这里插入图片描述

#!/bin/bash

将过滤mysql表部分数据导入hdfs; 该数据可以hdfs dfs -get 获取打开看看

sqoop import -Dhadoop.security.credential.provider.path=jceks://hdfs/user/dubhe/passwd/dubhe_sch.pwd.jceks --connect jdbc:mysql://10.7.22.132:3306/dubhe_sch_db --username dubhe_sch --password-alias dubhe_sch.pwd.alias --query ‘select a.*,b.target_id,b.source_id from (select * from dubhe_sch_db.t_etl_job_log union all select * from dubhe_sch_db.t_etl_job_log_bak where date_format(job_time ,“%y-%m-%d”) =current_date() and $CONDITIONS) a join (select * from dubhe_sch_db.t_etl_job_config where source_id = “ts_csp” and id >= 15000 or job_name like “ts_csp%” and $CONDITIONS) b on a.id = b.id order by start_time asc;’ --target-dir ‘hdfs://nameservice1/user/dubhe/d_test’ --hive-import --hive-database dm_mart_interface --hive-table ts_csp_v_etl_job_logs --fields-terminated-by ‘\t’ --hive-overwrite --num-mappers 1 --null-string “\\N” --null-non-string “\\N”

sqoop eval -Dhadoop.security.credential.provider.path=jceks://hdfs/user/dubhe/passwd/csp3.pwd.jceks --connect jdbc:mysql://10.8.67.15:3306/bigdatadb --username qry --password-alias csp3.pwd.alias --query ‘delete from v_etl_job_logs;’

sqoop export -Dhadoop.security.credential.provider.path=jceks://hdfs/user/dubhe/passwd/csp3.pwd.jceks --connect jdbc:mysql://10.8.67.15:3306/bigdatadb --username qry --password

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值