导数据步骤

本文介绍了如何通过SQL查询大量数据并将其转换为CSV文件,包括在堡垒机上执行、上传至HDFS,以及使用后台脚本进行日志记录和文件操作,如模糊查询、字符串替换、大文件切分与重命名,以及编码长度统计的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SQL直接查询出来的不能下载超过10万条

1.查询SQL

2.写成一个文件,在堡垒机上执行

impala-shell -q "

select * from t

" -B --output_delimiter="," --print_header -o /home/user/tmp_data/wj/test.csv

3.将文件上传导hdfs:hadoop fs -put XX123.csv /user/wj

4. 然后到hue的user/目录选中下载

后台运行脚本写日志到文件命令:

nohup sh ./xx_idcard_123.sh > xx_idcard_123.log 2>&1 &

nohup sh ./shell_script.sh > shell_script.log 2>&1 &

字符串内容特殊符号替换 regexp_replace(content, '\\n|\\t|\\r', '')

regexp_replace(content,'([a-z]+|[A-Z]+|[0-9]+)','*')

REPLACE(mobile,SUBSTR(mobile,4,4),'****')

regexp_replace(content,'[0-9]','*')

模糊查询多个字符串 : regexp '优惠|你好|再见'

模糊查询多个字符串 : rlike '.*(优惠|你好|再见).*'

点号表示和任意字符匹配,星号表示重复“左边的字符”零次到无数次

切分大文件命令,在堡垒机中执行:split -b 50M xx20200807.csv

split -b 100M /atmd/data/i0610_2.csv -d -a 4 test111

split -l 700000 /atmd/data/i0610_2.csv -d -a 4 test111

切分加批量改名:

split 文件名 -l 1000 -d -a 3 前缀_ && ls | grep 前缀_ | xargs -n1 -i{} mv {} {}.csv

1split命令:

-l指定行数,每个文件多少行

-b指定大小,每个文件100M.,这种担心会破坏一行的完整性

-d指定用数字递增为生成的文件名编号 test111为前缀

-a指定有几位数字  这里指定了4位,则从0000开始

-- 数据修改文件后缀名

-- find . -name '*.data.0.' | xargs -n1 -i{} mv {} {}.csv

指定字符串的编码集统计其长度:

length(encode(content,'EUC-KR'))

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值