气流HiveCliHook是否连接到远程配置单元群集?

时间:2018-11-28 21:51:11

标签: hive airflow

我正在尝试从Airflow的本地副本连接到我的Hive服务器,但是好像HiveCliHook试图在连接到我的Hive的本地副本。

我正准备进行以下测试:

\\u00ca

哪个抛出此错误:

Series.str.decode('unicode-escape')

有人知道我要去哪里吗?

1 个答案:

答案 0 :(得分:0)

  • 虽然您可以使用HiveCliOperator未更改)在远程 HQL中连接和执行Hive-Server语句,唯一的要求是运行您的Airflow worker框还必须包含已安装的Hive个二进制文件

  • 之所以这样,是因为hive-cli command prepared by HiveCliHook将通过旧的bash工作机中运行。 At this stage,如果未在运行此代码的计算机(即您的Airflow工作人员)中安装Hive CLI,它会根据您的情况而中断


直接解决方法是实施自己的RemoteHiveCliOperator

  • 为远程Hive服务器计算机创建SSHHook
  • 然后像this一样通过SSHHook执行您的HQL语句

实际上,这似乎是几乎所有Airflow Operator的普遍缺陷,默认情况下,它们希望每个工人都安装必需的软件包。 docs对此进行警告

  

例如,如果您使用HiveOperator,则配置单元CLI必须是   安装在那个盒子上