我尝试通过以下操作将参数从linux上的文本文件传递到配置单元脚本:
文本文件的内容是:
$emp\u code='prd10'$location='美国'
我需要使用这些变量来传递到这个配置单元sql中。脚本的内容包括:
!cat文件位置/empdetails.txt;
在emp\u pay\u detail中插入select*from empinfo where empcode='${hiveconf:emp_code}'和私奔''${hiveconf:location}';
其思想是从linux的文本文件中传递不同的参数
我尝试使用以下命令运行此命令:
配置单元-hiveconf emp\u代码-hiveconf位置-f employeedet.sql
脚本运行,但不插入任何行
1条答案
按热度按时间eblbsuwk1#
可以创建配置单元指令输入文件:
并使用
hive -i input.txt -f employeedet.sql
如果要指定多个位置:set location=USA,UK
,则需要将查询中的条件更改为:array_contains(split('${hiveconf:location}',','), elocation)
完整查询: