我想用气流配置单元操作符执行配置单元查询并将结果输出到文件中。我不想在这里使用插入覆盖。在
hive_ex = HiveOperator(
task_id='hive-ex',
hql='/sql/hive-ex.sql',
hiveconfs={
'DAY': '{{ ds }}',
'YESTERDAY': '{{ yesterday_ds }}',
'OUTPUT': '{{ file_path }}'+'csv',
},
dag=dag
)
最好的办法是什么?在
我知道如何使用bash操作符来实现这一点,但我想知道是否可以使用hive操作符
^{pr2}$
因为这是一个非常定制的用例,最好的方法是扩展Hive操作符(或者创建自己的Hive2CSVOperator)。实现将取决于您是否可以通过CLI或HiveServer2访问配置单元。在
配置单元CLI
我将首先尝试配置配置单元CLI连接并添加
hive_cli_params
,如Hive CLI hook code所示,如果这不起作用,请扩展钩子(这将使您能够访问所有内容)。在HiveServer2
这个例子有一个单独的钩子(link)。它更方便一些,因为它有一个}方法(source)。在
get_results
方法(source)或{运算符代码中的
execute
可能看起来与此类似:你需要气流挂钩。请看Hooks和HiveHook,有一个
to_csv
方法,或者您可以使用get_records
方法,然后自己来做。在相关问题 更多 >
编程相关推荐