Hive 如何使用气流将配置单元操作符输出导出到本地csv文件?
我正在尝试将HiveOperator(HiveSQL)的输出导出到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()
执行方法中使用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=“”
)