问题标签 [luigi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2736 浏览

python - 在 Luigi Orchestrator 任务的运行函数中使用 luigi.DateParameter

我有以下使用 Luigi Orchestrator 的 python 代码。

我想在我的run()函数中使用日期参数。问题是我不知道它是什么类型。在文档中,似乎这个参数是 a datetime.date,所以我应该可以使用方法self.date.strftime()。但此方法不适用于DateParameters.

我的问题是:

  • 如何在我的运行函数中使用我的代码的可变日期?它是什么类型的?一个字符串,一个 datetime.date 还是别的什么?

  • 在某些时候,我需要将此日期转换为 YYYYMMDD 形式的字符串,我该怎么做?

0 投票
1 回答
4953 浏览

python - Luigi Orchestrator 中的并行任务

我定义了三个任务T1T2T3,然后是一个任务T4,如下所示:

有没有一种自然的方式告诉 Luigi 我想要这些任务T1, T2, 和T3并行执行?

0 投票
1 回答
401 浏览

google-bigquery - 使用 Luigi Orchestrator 在 BigQuery 中追加作业的输出

我有一个 Bigquery 任务,它的目的只是将每日临时表 ( Table-xxxx-xx-xx) 附加到现有表 ( PersistingTable)。

我不确定如何处理该output(self)方法。事实上,我不能只输出PersistingTableluigi.contrib.bigquery.BigQueryTarget,因为它在进程开始之前就已经存在。有没有人问过自己这样的问题?

0 投票
1 回答
816 浏览

apache-spark - Luigi 在 Spark 和 Redshift 上无法正常工作

我正在运行一个 EMR Spark 集群(使用 YARN),并且我正在直接从 EMR 主服务器运行 Luigi 任务。我有一个依赖于 S3 中数据的作业链,经过几次 SparkSubmitTasks 后,最终会出现在 Redshift 中。

我遇到了两个主要问题:

1) 有时 luigi 无法确定 SparkSubmitTask 何时完成 - 例如,我会看到 luigi 提交了一个作业,然后检查 YARN,它会说应用程序正在运行,但一旦完成,luigi 就会挂起并且无法确定工作是否完成。

2) 如果由于某种原因 SparkSubmitTasks 能够运行并且我放置在上面的任务完成了 Spark 作业,则输出任务永远不会运行,并且标记表永远不会创建或填充。但是,实际表是在运行的 Spark 作业中创建的。我是否误解了我应该如何调用 RedshiftTarget?

与此同时,我正在尝试熟悉源代码。

谢谢!

0 投票
1 回答
2303 浏览

python - Luigi:分步说明不起作用

我是 python 的新手,我已经在我的 RHEL linux 上安装了 Luigi-2.0.1。尝试运行示例程序

执行了以下命令

我收到以下错误。

在调查网络后,我无法弄清楚为什么会发生这种情况。我有python 2.6。是不是 luigi 与 2.6 不兼容,只适用于 python 3.0 以后的版本?

感谢任何帮助

0 投票
0 回答
1047 浏览

python - 带有 scikit-learn 的 Python 管道框架 luigi

我正在使用 python 管道框架 luigi 和 scikit-learn 进行机器学习批处理作业,尤其是在 MiniBatchDictionaryLearning 模块中。但是当我使用多个进程执行时,它并没有像我预期的那样工作。我的代码是这样的。(这只是一个例子。)

当我使用单个进程执行此代码时,它可以工作。

但是当我使用多个进程执行时,它不起作用,我得到了这个错误。

我检查了堆栈跟踪,发现 scikit-learn fit 方法出了点问题,但我无法确切找出原因。

你能告诉我如何解决这个问题吗?

0 投票
1 回答
1320 浏览

python - 自动化 Hadoop 批处理命令

我是这个领域的初学者,所以不知道确切的术语,抱歉

问题库:想自动化批处理层的处理

问题:我无法理解人们如何设法运行大型 hadoop 命令,例如

每次他们需要运行 map reduce 作业时,是否有任何方法可以自动化该过程,例如 cron 之类的,请让我知道是否有任何资源可以了解这一点,以便我们可以安排 hadoop 命令或与 python 或 bash 相关的东西脚本

我搜索过的内容:Luigi 建议(此处)构建 jar 或运行命令,但没有任何关于它的文档或示例

注意:由于我不知道 java,我没有搜索过并且无法在 java 中使用选项。

0 投票
6 回答
9542 浏览

python - 如何重置 luigi 任务状态?

目前,我有一堆 luigi 任务排在一起,有一个简单的依赖链(a -> b -> c -> d)。d首先执行,a最后执行。a是被触发的任务。

除了a返回一个luigi.LocalTarget()对象之外的所有目标都具有一个泛型luigi.Parameter(),它是一个字符串(包含日期和时间)。在 luigi 中央服务器(已启用历史记录)上运行。

问题是,当我重新运行上述任务时a,luigi 检查历史记录并查看该特定任务之前是否已运行,如果它的状态为 DONE,它不会运行任务(d在这种情况下)并且我不能这样,更改字符串无济于事(向其添加了随机微秒)。如何强制运行任务?

0 投票
1 回答
308 浏览

.bash-profile - luigi 不适用于别名

我正在尝试为我的 luigi 任务创建一个别名。通常要调用它,我会输入luigi --module myTask --parameters cats

但是,我想创建一个别名以将其缩短为myTask --parameters cats,所以我去了我的.bash_profile并把这个alias myTask='luigi --module myTask "$@"'

但是,当我尝试使用别名再次调用我的任务时,我收到此错误:luigi.task_register.TaskClassNotFoundException: No task myTask。候选对象是:Config,ExternalTask​​,RangeBase,RangeDaily,RangeDailyBase,RangeHourly,RangeHourlyBase,Task,WrapperTask,core,execution_summary,retcode,scheduler,worker

我是否遗漏了一些东西.bash_profile来使这个别名起作用?

0 投票
2 回答
858 浏览

hadoop - 用于构建基于 hadoop 的数据管道的调度工具的建议

在 Apache Oozie、Spotify/Luigiairbnb/airflow之间,它们各自的优缺点是什么?

我过去曾使用 oozie 和气流来构建使用 PIG 和 Hive 的数据摄取管道。目前,我正在构建一个查看日志并提取有用事件并将它们置于红移状态的管道。

我发现气流更容易使用/测试/设置。它有一个更酷的 UI,并允许用户从 UI 本身执行操作,这与 Oozie 不同。欢迎提供有关 Luigi 的任何信息或其他有关稳定性和问题的见解。