#!/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脚本中