我很难理解Airflow中的BranchPythonOperator是如何工作的.我知道它主要用于分支,但是对于传递给任务的内容以及我需要从上游任务传递/期望的文档感到困惑.
鉴于本页文档中的简单示例,对于上游任务调用的源代码run_this_first和分支的2个下游任务是什么样的?Airflow如何知道运行branch_a而不是branch_b?上游任务的输出在哪里被注意到/读取?
源数据不断为字段投放值,使其长度越来越大.现在我正在使用VARCHAR(200),但我可能会去VARCHAR(400).使用大量数据有什么缺点吗?
我还在学习CLI及其中的细节,特别是这个.bash_profile.我对自己所学到的东西感到不知所措.
无论如何,我可以访问.bash_profile.如果我这样做,nano ~/.bash_profile那么文件出现,我可以自由编辑.然后我尝试添加我应该包括的行:
export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH"
但是,当我尝试保存文件(或任何.bash_profile)时,我收到以下错误: [ Error writing /home/myname.bash_profile Permission denied ]
因此,在用户需要为Scrapy安装的许多软件包中,我认为我遇到了pyOpenSSL问题.
当我尝试创建一个教程Scrapy项目时,我得到以下输出:
Traceback (most recent call last):
File "C:\Python27\lib\runpy.py", line 162, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "C:\Python27\lib\runpy.py", line 72, in _run_code
exec code in run_globals
File "C:\Python27\lib\site-packages\scrapy\cmdline.py", line 168, in <module>
execute()
File "C:\Python27\lib\site-packages\scrapy\cmdline.py", line 122, in execute
cmds = _get_commands_dict(settings, inproject)
File "C:\Python27\lib\site-packages\scrapy\cmdline.py", line 46, in _get_comma
nds_dict
cmds = _get_commands_from_module('scrapy.commands', inproject)
File "C:\Python27\lib\site-packages\scrapy\cmdline.py", line 29, in _get_comma
nds_from_module
for cmd in _iter_command_classes(module):
File "C:\Python27\lib\site-packages\scrapy\cmdline.py", line 20, in _iter_comm
and_classes
for module in walk_modules(module_name):
File "C:\Python27\lib\site-packages\scrapy\utils\misc.py", line …Run Code Online (Sandbox Code Playgroud) 我试图通过传入一个thisshouldnotrun不起作用的Bash行()来故意使一个Airflow任务失败并输出错误.气流输出如下:
[2017-06-15 17:44:17,869] {bash_operator.py:94} INFO - /tmp/airflowtmpLFTMX7/run_bashm2MEsS: line 7: thisshouldnotrun: command not found
[2017-06-15 17:44:17,869] {bash_operator.py:97} INFO - Command exited with return code 127
[2017-06-15 17:44:17,869] {models.py:1417} ERROR - Bash command failed
Traceback (most recent call last):
File "/home/ubuntu/.local/lib/python2.7/site-packages/airflow/models.py", line 1374, in run
result = task_copy.execute(context=context)
File "/home/ubuntu/.local/lib/python2.7/site-packages/airflow/operators/bash_operator.py", line 100, in execute
raise AirflowException("Bash command failed")
AirflowException: Bash command failed
[2017-06-15 17:44:17,871] {models.py:1433} INFO - Marking task as UP_FOR_RETRY
[2017-06-15 17:44:17,878] {models.py:1462} ERROR - Bash command failed
Traceback …Run Code Online (Sandbox Code Playgroud) 当尝试运行 DAG 时,Airflow 返回一个错误,说它找不到环境变量,这很奇怪,因为它能够找到我存储为 Python 变量的其他 3 个环境变量。这些变量根本没有问题。
我有所有 4 个变量,~/.profile也做了
export var1="varirable1"
export var2="varirable2"
export var3="varirable3"
export var4="varirable4"
Run Code Online (Sandbox Code Playgroud)
在什么用户下airflow运行?我也完成了这些export命令sudo,所以我认为它们会airflow在运行 dag 时被接收
试图将 Airflow 进程拆分到 2 个服务器上。服务器 A 已经在独立模式下运行,上面有所有东西,有 DAG,我想将它设置为新设置中的工作人员,并带有额外的服务器。
服务器 B 是将在 MySQL 上托管元数据数据库的新服务器。
我可以让服务器 A 运行 LocalExecutor,还是必须使用 CeleryExecutor?就airflow scheduler必须具有正确的DAG的服务器上运行?还是必须在集群中的每台服务器上运行?对进程之间的依赖关系感到困惑
代码是:
from pyspark.sql import functions as F
df = df.select(F.trim("MyColumn"))
Run Code Online (Sandbox Code Playgroud)
错误是:
Py4JError: An error occurred while calling z:org.apache.spark.sql.functions.trim. Trace:
py4j.Py4JException: Method trim([class java.lang.String]) does not exist
Run Code Online (Sandbox Code Playgroud)
trimPySpark 2.x 中已弃用吗?我不明白为什么它不起作用,而同一命名空间中的其他一些函数却工作得很好
我有6个情节,我试图在网格上一起绘制.我能够绘制出3个主要对齐良好的对齐,以便y轴全部在同一点开始,如下所示:
但是在我将第二列图表添加到网格(三角形)后,我在第一列中丢失了对齐.所以看起来有点像这样:
这是绘制此网格的代码.我一直在使用align参数和一点宽度,但没有运气让它们一起工作:
plot_grid(pq1_plop, pq1_status, pq2_plop, pq2_status, pq3_plop, pq3_status,
align = "hv",
nrow = 3,
ncol = 2,
rel_widths = c(10, 1)
)
Run Code Online (Sandbox Code Playgroud)
有没有办法在左侧轴对齐的情况下绘制这些图?情节数据:
> dput(pq1_agged)
structure(list(mean_name = structure(2:6, .Label = c("", "Arrival Logistics and Greetings",
"Organization of Activity", "Schedule and Offering", "Space Adequacy",
"Transitions"), class = "factor"), mean_2018 = c(3.60416668653488,
3.31623927752177, 2.75, 3.125, 3.55555558204651), SY_mean = c(3.3468468479208,
3.62688970565796, 3.24204542961988, 3.58294574604478, 0), PSELI_mean = c(3.38333333333333,
3.65522875505335, 3.08235294678632, 3.53529411203721, 0), mean_2017 = c(3.625,
3.75000002980232, 3.02499997615814, 3.59166663885117, 4), aptsayoy = c("apt",
"apt", …Run Code Online (Sandbox Code Playgroud) 我想做一个文件rowcount并从中减去一个.我知道如何使用此函数获取rowcount的第一部分:
zcat filename$today.csv.gz | wc -l
Run Code Online (Sandbox Code Playgroud)
但是,如何从该值中减去一个来计算标题并将其存储在变量中?我试过了
$(( zcat filename$today.csv.gz | wc -l - 1 ))
Run Code Online (Sandbox Code Playgroud)
但那不起作用.
我是否必须先将第一个函数的输出存储为变量?这是推荐的做法吗?