Shell编写hive脚本时,特殊字符“\”的处理

#!/bin/bash

HIVE_SQL="

    SELECT * FORM T1
    left join T2 
    --注意,这里因为是shell的字符串,要用\\转义\d,因为shell中 \\ 代表 \
    --shell \ 将特殊符号字符的特殊含义屏蔽掉,使其还是原字符
    --\\\d ,第一个\是shell中转义,第二个\是sql中字符串转义,第三个才是\d
    ON regexp_replace(T1.fund_type,'_(\\\d)+','') = T2.money_type_name

"

hive -e "
    set mapred.reduce.tasks=100;
    ${HIVE_SQL};
    ${OTHER_SQL};

"

如上图,因为我们的程序都是shell脚本,hivesql 以字符串的形式存于shell脚本中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值