Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hive 如何使用气流将配置单元操作符输出导出到本地csv文件?_Hive_Hiveql_Airflow - Fatal编程技术网

Hive 如何使用气流将配置单元操作符输出导出到本地csv文件?

Hive 如何使用气流将配置单元操作符输出导出到本地csv文件?,hive,hiveql,airflow,Hive,Hiveql,Airflow,我正在尝试将HiveOperator(HiveSQL)的输出导出到csv文件中,并将其存储在本地。想知道我怎样才能在气流中完成它。任何人都可以分享您的想法吗?如果您在执行方法中使用PythonOperator或子类HiveOperator使用HiveServer2Hook,您可能会找到您需要的: def execute(context): ... self.hook = HiveServer2Hook(...) self.conn = self.hook.get_conn()

我正在尝试将HiveOperator(HiveSQL)的输出导出到csv文件中,并将其存储在本地。想知道我怎样才能在气流中完成它。任何人都可以分享您的想法吗?

如果您在
执行
方法中使用
PythonOperator
或子类
HiveOperator
使用
HiveServer2Hook
,您可能会找到您需要的:

def execute(context):
  ...
  self.hook = HiveServer2Hook(...)
  self.conn = self.hook.get_conn()

  self.conn.to_csv(hql=self.hql, csv_filepath=self.output_filepath, ...)

您可以创建一个自定义配置单元操作符,该操作符继承DAG中的
HiveOperator
,如下所示:

类自定义HIVEOP(HiveOperator):
def执行(上下文):
self.log.info('正在执行:%s',self.hql)
self.hook=self.get\u hook()
自连接至csv(
hql=self.hql,
csv\u filepath=self.output\u filepath,
schema='default',
分隔符=',',
lineterminator='\r\n',
输出头=真,
fetch_size=1000,
配置单元(配置=无)
并将其用作:

hive\u csv=CustomHiveOp(
任务\u id='hive\u到\u csv',
hql='YOUR\u HIVE\u QUERY',
蜂巢客户端连接id=“”
)