如何使用配置单元中文件的列名

zbdgwd5y  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(296)

非常新的直线和大数据的东西。
如何在shell脚本中使用直线中的列名。例如

ColNames=Emp_id,Emp_name,Emp_City
Tbl_name=Employee
DB_Name=HR_Dept

Select $ColNames from $Tbl_name.$DB_Name;

1.是否可以在直线/Hive中使用2。我可以把这个文件放在linux框中,比如columnsnamesonly.txt,然后用beeline from script调用这些值吗

Columnnamesonly.txt

empid,emp_name,emp_city

select $/tmp/colnamesonly.txt from Employee.hr_dept;

抱歉问了个基本问题。不管可能与否,我都找不到答案。

cqoc49vn

cqoc49vn1#

如果我正确理解你的问题,那么,是的,你可以传递保存在文本文件中的变量**下面假设您已经在使用beeline运行配置单元。
将变量添加到新的hiverc文件
打开hiverc文件进行编辑。使用vim,这可能看起来像: vim ~/.hiverc 通过为所需的每个变量添加一行来编辑文件: set hivevar:variable_name=column_one; (如果您不熟悉vim,我建议您阅读一些基本资料或使用其他内容来编辑该文件)
将文件保存到所需的任何路径。vim命令看起来像 :w filepath/newhivercfile 在配置单元脚本中调用变量
编辑配置单元脚本,在需要时添加变量,例如: SELECT ${variable_name} FROM table; 我们把这个存起来吧 filepath/script.hql 用你的变量运行脚本!
使用常规直线运行配置单元脚本,但添加: -i filepath/newhivercfile 这会将配置单元指向在步骤1中创建的hiverc文件 -f filepath/script.hql 这将运行您在步骤4中创建的配置单元脚本。
总之,您的直线查询将如下所示: beeline -i filepath/newhivercfile -u jdbc:hive2://hiveserver2.com:10000 $USER org.apache.hive.jdbc.HiveDriver -f filepath/script.hql

相关问题