小编Ano*_*p R的帖子

获取 apache airflow 任务的 unique_id

我是airflow的新手。在我的ETL管道公司中,目前我们正在使用Crontab和自定义调度程序(内部开发)。现在我们计划为我们所有的数据管道场景实现apache airflow。为此,在探索功能的同时无法找到每个任务实例/Dag 的unique_id。当我搜索大多数解决方案时,它们都以宏和模板结束。但是它们都没有为任务提供 uniqueID 。但是我能够在 UI 中看到增量 uniqueID对于每个任务。有什么方法可以轻松访问我的 python 方法中的这些变量。主要用例是我需要将这些 ID 作为参数传递给 Python/ruby/Pentaho 作业,称为脚本/方法。

例如

我的 shell 脚本“test.sh”需要两个参数,一个是 run_id,另一个是 collection_id。目前,我们正在从集中数据库生成这个唯一的 run_id 并将其传递给作业。如果它已经存在于气流上下文中,我们将使用它

from airflow.operators.bash_operator import BashOperator
from datetime import date, datetime, timedelta
from airflow import DAG

shell_command =  "/data2/test.sh -r run_id -c collection_id"


putfiles_s3 = BashOperator(
                task_id='putfiles_s3',
                bash_command=shell_command,
                dag=dag)
Run Code Online (Sandbox Code Playgroud)

在执行此 Dag(计划/手动)时为每次运行寻找唯一的 run_id(Dag 级别/任务级别)

注意:这是一个示例任务。该 Dag 将会有多个依赖任务。附加 Airflow UI 中的 Job_Id 屏幕截图 在此输入图像描述

谢谢阿努普R

python bash airflow

7
推荐指数
1
解决办法
1万
查看次数

气流用户创建

我正在使用Airflow版本1.8.2并设置了几个Dags.Everything按预期运行.我已经为气流Web服务器访问创建了管理员用户.但是对于其他团队监控他们的工作我们无法提供此管理员用户所以我试过从UI'/ admin/user /'创建不同的用户.但只有以下字段可用.没有提供角色或密码的选项等. 在此输入图像描述

有没有人遇到同样的问题,或者我做了一些错误的事情.如何创建基于角色的用户这样我就可以为这些团队标记一些特定的dag

谢谢

python authentication airflow

5
推荐指数
3
解决办法
9505
查看次数

使用 python 连接到 Hbase 失败

我正在尝试使用 python 示例代码连接到 Hbase

import happybase
connection = happybase.Connection(myhost,port, autoconnect=True)

# before first use:
connection.open()
print(connection.tables())
Run Code Online (Sandbox Code Playgroud)

这是给出如下错误

打印(connection.tables())回溯(最近一次调用最后一次):文件“”,第1行,在文件“/usr/local/lib/python2.7/dist-packages/happybase/connection.py”,第242行, 在表中名称 = self.client.getTableNames() 文件“/usr/local/lib/python2.7/dist-packages/thriftpy/thrift.py”,第 198 行,在 _req 中返回 self._recv(_api) 文件“ /usr/local/lib/python2.7/dist-packages/thriftpy/thrift.py”,第 210 行,在 _recv fname, mtype, rseqid = self._iprot.read_message_begin() 文件“thriftpy/protocol/cybin/cybin. pyx", line 439, in cybin.TCyBinaryProtocol.read_message_begin (thriftpy/protocol/cybin/cybin.c:6470) cybin.ProtocolError: No protocol version header

操作系统:Ubuntu 16.04 我使用的是 python 2.7 Hbase 版本 1.1 帮助我理解这个问题。除了happybase 有没有更好的方法连接到Hbase

谢谢

python hadoop hbase happybase

4
推荐指数
1
解决办法
3864
查看次数

标签 统计

python ×3

airflow ×2

authentication ×1

bash ×1

hadoop ×1

happybase ×1

hbase ×1