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

jgovgodb  于 2021-06-27  发布在  Hive
关注(0)|答案(2)|浏览(883)

我正在尝试将hiveoperator(hivesql)的输出导出到csv文件并将其存储在本地。想知道我怎样才能在气流中做。有人能谈谈你的想法吗?

x0fgdtte

x0fgdtte1#

可以创建继承 HiveOperator 在您的dag中,如下所示:

  1. class CustomHiveOp(HiveOperator):
  2. def execute(context):
  3. self.log.info('Executing: %s', self.hql)
  4. self.hook = self.get_hook()
  5. self.conn.to_csv(
  6. hql=self.hql,
  7. csv_filepath=self.output_filepath,
  8. schema='default',
  9. delimiter=',',
  10. lineterminator='\r\n',
  11. output_header=True,
  12. fetch_size=1000,
  13. hive_conf=None)

并将其用作:

  1. hive_csv = CustomHiveOp(
  2. task_id='hive_to_csv',
  3. hql='YOUR_HIVE_QUERY',
  4. hive_cli_conn_id=''
  5. )
展开查看全部
yiytaume

yiytaume2#

如果你使用一个 PythonOperator 或子类 HiveOperator 使用 HiveServer2Hookexecute 方法:

  1. def execute(context):
  2. ...
  3. self.hook = HiveServer2Hook(...)
  4. self.conn = self.hook.get_conn()
  5. self.conn.to_csv(hql=self.hql, csv_filepath=self.output_filepath, ...)

相关问题