问题标签 [kedro]

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 回答
130 浏览

python - S3 Kedro 数据集是线程安全的吗?

CSVS3DataSet//使用HDFS3DataSet,已知不是线程安全的https://boto3.amazonaws.com/v1/documentation/api/latest/guide/resources.html?highlight=multithreading#multithreading-multiprocessingHDFS3DataSetboto3

可以将这些数据集与 ParallelRunner 一起使用吗?

0 投票
1 回答
834 浏览

python - Kedro: How to pass multiple same data from a directory as a node input?

I have a directory with multiple files for the same data format (1 file per day). It's like one data split into multiple files.

Is it possible to pass all the files to A Kedro node without specifying each file? So they all get processed sequentially or in parallel based on the runner?

0 投票
1 回答
295 浏览

kedro - 使用数据并行化运行管道

我一直在运行 kedro 教程(hello world 和 spaceflight),我想知道是否可以轻松地使用 Kedro 进行数据并行化。想象一下,我有一个需要在数百万个文件中执行的节点的情况。

我似乎有这个选项kedro run -p,但这只做任务并行化(如此处所述https://kedro.readthedocs.io/en/latest/03_tutorial/04_create_pipelines.html)。

感谢您的任何反馈

0 投票
1 回答
288 浏览

python - Kedro 与 MongoDB 和其他文档数据库?

将 kedro 与 MongoDB 或其他文档数据库一起使用的最佳实践是什么?例如,MongoDB 没有类似于 SQL 的查询语言。Python 中的大多数 Mongo“查询”(使用 PyMongo)看起来像这样:

然后你会得到这样的东西:

现在我的问题是:逻辑应该去哪里找到这篇文章,然后把它解析成一个数据框?尝试创建一个类似乎不合适,MongoQueryDataSet因为如果你想支持诸如插入、聚合等之类的东西,你最终将不得不用笨重的 yaml 参数包装整个 PyMongo API。

一个类是否应该MongoDataSet只返回一个MongoClient对象并在 kedro 节点中捕获任何进一步的逻辑?

一般来说,当您使用具有这些功能性(非 SQL)API 而没有简单查询字符串的数据库时,数据加载逻辑应该存在于何处?

0 投票
1 回答
457 浏览

python - 从装饰器访问 Kedro 上下文

我正在尝试创建一个装饰器,在其中我需要一些有关项目和/或目录的信息。是否可以从装饰器内部访问项目上下文?我正在寻找项目名称、目录条目名称和管道节点名称等内容。

我创建了一种通过获取函数文件路径来查找根目录的方法inspect.getfile(func),然后沿着路径向上直到找到.kedro.yml,但是当使用库中的函数时,此方法会中断。

0 投票
1 回答
219 浏览

python - 如何将 Kedro 与 Pipenv 一起使用?

我目前正在kedro, version 0.15.4使用pipenv, version 2018.11.26.

目前,如果我想使用,我必须执行以下操作Pipenv(对于这个例子,我希望这个项目驻留在kedro-pipenv目录中):

  1. mkdir kedro-pipenv && cd kedro-pipenv
    • 这是必需的,以便virtualenv创建的项目“绑定”到项目目录,这仅意味着它的名称基于执行pipenv install kedroorpipenv shell命令的目录名称。
    • 不幸的是,目前Pipenv没有支持自定义virtualenv名称的功能。
  2. pipenv install kedro
    • 在我的示例中,这会生成一个virtualenv名称,该名称kedro-pipenv-AB9IGRnB位于以下位置~/.local/share/virtualenvs/kedro-pipenv-AB9IGRnB/
  3. pipenv shell
  4. kedro info
    • 一切看起来都很好,kedro已成功安装在由virualenv处理Pipenv
  5. cd .. & kedro new
    • 我向上导航一个目录并提供kedro-pipenv项目的目录名称。鉴于该目录之前已在步骤 1 中创建,这将失败,这是预期的,我收到以下消息:

为了“解决”这个问题,我在与virtualenv以前相同的同时执行以下操作:

  • mv kedro-pipenv kedro-pipenv_tmp
    • 重命名现有目录
  • kedro new
    • 我提供kedro-pipenv项目的目录名称。
  • mv kedro-pipenv_tmp/Pipfile* kedro-pipenv && rm -rf kedro-pipenv_tmp
    • 需要此步骤以便kedro维护 Python 版本和单个依赖项。
  • cd kedro-pipenv
  • kedro install
  • 用于kedro build-reqs管理项目需求。

我也很熟悉,conda这似乎是目前 Kedro 处理环境的一种更清洁的方式。

但是,对于我的大多数其他项目,我一直在使用pyenv环境Pipenv和依赖项管理。这允许我通过Pipfile在我的每个项目的根目录中都有一个与特定项目空间相关的环境信息。

有没有人对如何改进上述工作流程有任何建议?

0 投票
2 回答
3198 浏览

python - 如何有条件地运行部分 Kedro 管道?

我有一个很大的管道,需要几个小时才能运行。它的一小部分需要经常运行,我如何在不触发整个管道的情况下运行它?

0 投票
1 回答
362 浏览

python - 如何动态加载kedro DataSet对象

我目前正在使用 yaml api 来创建我所有的数据集kedro==15.5。我希望能够不时动态地查看这些信息。看来我可以通过io.datasetswhich is a _FrozenDatasetsobject 获得这些信息。我无法遍历它或以编程方式访问它。

具体用例

具体来说,我想添加一个循环遍历数据集的测试,以检查是否没有多个目录条目使用相同的文件路径。不使用eval这可能吗?目前我认为需要做这样的事情

0 投票
3 回答
1242 浏览

kedro - Kedro 部署到数据块

也许我误解了打包的目的,但它似乎对创建用于生产部署的工件没有帮助,因为它只打包代码。它忽略了 conf、data 和其他使 kedro 项目可重现的目录。

我知道我可以使用 docker 或气流插件进行部署,但如何部署到数据块。你有什么建议吗?

我正在考虑制作一个可以安装在集群上的轮子,但我需要先打包 conf。另一种选择是将 git 工作区同步到集群并通过笔记本运行 kedro。

关于最佳实践的任何想法?

0 投票
2 回答
1185 浏览

python - 'kedro' 不是内部或外部命令、可运行程序或批处理文件

我正在尝试安装 Kedro,但出现此错误。我知道大多数时候会出现这个错误,因为 kedro 不在我的 PATH 中。我尝试将文件路径添加到我的 PATH 中,但仍然出现相同的错误。当我运行时:

pip show kedro

输出:

名称:kedro 版本:0.15.5 摘要:Kedro 帮助您构建生产就绪的数据和分析管道 主页:https ://github.com/quantumblacklabs/kedro 作者:QuantumBlack Labs 作者电子邮件:无 许可证:Apache 软件许可证(Apache 2.0) 位置:c:\users\vince\appdata\roaming\python\python36\site-packages 需要:pyarrow、anyconfig、PyYAML、requests、SQLAlchemy、tables、xlrd、cookiecutter、fsspec、pip-tools、toposort、 s3fs、pandas、python-json-logger、xlsxwriter,点击Required-by:

我得到了文件位置,这就是我试图添加到我的路径中的内容。我假设我使用了错误的位置,但我不确定将哪个文件位置添加到我的 PATH 中。

我添加到路径中的内容:c:\users\vince\appdata\roaming\python\python36\site-packages