标签: pipeline

如何告诉 Dagit(Dagster GUI)在现有 Dask 集群上运行?

我正在使用 dagster 0.11.3(撰写本文时最新版本)

我创建了一个 Dagster 管道(另存为 pipeline.py),如下所示:

@solid
def return_a(context):
    return 12.34


@pipeline(
    mode_defs=[
        ModeDefinition(
            executor_defs=[dask_executor]  # Note: dask only!
        )
    ]
)
def the_pipeline():
    return_a()
Run Code Online (Sandbox Code Playgroud)

我将 DAGSTER_HOME 环境变量设置为包含名为 dagster.yaml 的文件的目录,该文件是一个空文件。这应该没问题,因为根据这些文档,默认值是合理的: https: //docs.dagster.io/deployment/dagster-instance

我有一个现有的 Dask 集群在“scheduler:8786”上运行。基于这些文档:https://docs.dagster.io/deployment/custom-infra/dask,我创建了一个名为 config.yaml 的运行配置,如下所示:

execution:
  dask:
    config:
      cluster:
        existing:
          address: "scheduler:8786"
Run Code Online (Sandbox Code Playgroud)

我已经成功地将这个运行配置与 Dagster 一起使用,如下所示:

$ dagster pipeline execute -f pipeline.py -c config.yaml
Run Code Online (Sandbox Code Playgroud)

(我检查了 Dask 日志并确保它确实在我的 Dask 集群上运行)

我的问题是: 如何让 Dagit 使用这个 Dask 集群?我发现的唯一似乎相关的是: https: //docs.dagster.io/_apidocs/execution#executors

...但它甚至没有提到 Dask 作为一个选项(它有 dagster.in_process_executor 和 dagster.multiprocess_executor,它们似乎与 dask 完全无关)。 …

pipeline dagster

3
推荐指数
1
解决办法
2300
查看次数

在 AzureDevOps 的项目文件夹中运行 bash 脚本

我有一个脚本可以很好地执行各种依赖项安装和一些手动工作(NPM 安装,设置项目时需要执行的一些手动步骤)以在项目能够运行之前设置项目。该脚本在本地环境中运行得非常好。

我现在尝试在 Azure DevOps 中构建我的管道,我意识到我不能立即启动脚本。在脚本中运行npm install实际上并不是在我的项目文件夹中运行,但它始终在路径上运行/Users/runner/work

问题: 如何在项目文件夹中执行脚本?

我的脚本文件中的示例代码

set -e

# Setup project dependencies
npm install

# some mandatory manual work
.....

# Pod installation
cd ios 
pod install
Run Code Online (Sandbox Code Playgroud)

我的 AzurePipelines.yml

- task: Bash@3
  inputs:
    targetType: 'inline'
    script: |
      sh $(System.DefaultWorkingDirectory)/projectFolder/setup.sh
    failOnStderr: true
Run Code Online (Sandbox Code Playgroud)

来自 Azure 的问题日志(如您所见,由于路径不正确,npm 安装无法正常工作,因此管道内的进一步操作将失败)

npm WARN saveError ENOENT: no such file or directory, open '/Users/runner/work/package.json'
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN enoent ENOENT: …
Run Code Online (Sandbox Code Playgroud)

pipeline azure-devops azure-pipelines

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

sklearn 管道出现“valueError:无法将字符串转换为浮点数:...”

我是一个尝试学习 sklearn pipeline 的初学者。ValueError: could not convert string to float当我运行下面的代码时,出现值错误。我不确定原因是什么,因为 OneHotEncoder 将字符串转换为浮点数作为分类变量应该不会有任何问题

import json
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import LabelEncoder
from sklearn.ensemble import RandomForestClassifier
from sklearn.ensemble import ExtraTreesClassifier
from sklearn.pipeline import Pipeline
from sklearn.compose import ColumnTransformer
from sklearn.compose import make_column_transformer
from sklearn.preprocessing import OneHotEncoder
from sklearn.impute import SimpleImputer
from sklearn.ensemble import RandomForestClassifier


df = pd.read_csv('https://raw.githubusercontent.com/pplonski/datasets-for-start/master/adult/data.csv', skipinitialspace=True)
x_cols = [c for c in df.columns if c!='income']
X = df[x_cols] …
Run Code Online (Sandbox Code Playgroud)

python pipeline scikit-learn

3
推荐指数
1
解决办法
1096
查看次数

Github 工作流程 CI/CD 失败

我使用 github 工作流程的 CI/CD 管道失败,并出现以下错误:

错误:无法成功处理命令 '##[add-path]/opt/hostedtoolcache/aws/0.0.0/x64'。错误:该add-path命令被禁用。ACTIONS_ALLOW_UNSECURE_COMMANDS请升级到使用环境文件或通过将环境变量设置为 来选择不安全的命令执行true。有关更多信息,请参阅:https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/

这是我的container.yml 文件

name: deploy-container

on:
  push:
    branches:
      - master
      - develop
    paths:
      - "packages/container/**"

defaults:
  run:
    working-directory: packages/container

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2
      - run: npm install
      - run: npm run build

      - uses: chrislennon/action-aws-cli@v1.1
      - run: aws s3 sync dist s3://${{ secrets.AWS_S3_BUCKET_NAME }}/container/latest
        env:
          AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
          AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
Run Code Online (Sandbox Code Playgroud)

知道为什么会发生这种情况。提前致谢

pipeline amazon-web-services github-actions cicd

3
推荐指数
1
解决办法
979
查看次数

使用管道进行聚合查找并匹配不工作 mongodb

我有这两个简单的集合:

项目:

{
    "id" : "111",
    "name" : "apple",
    "status" : "active"
}    
{
    "id" : "222",
    "name" : "banana",
    "status" : "active"
}
Run Code Online (Sandbox Code Playgroud)

存货:

{
    "item_id" : "111",
    "qty" : 3,
    "branch" : "main"
}
{
    "item_id" : "222",
    "qty" : 3
}
Run Code Online (Sandbox Code Playgroud)

现在我只想返回库存集合中存在且等于“main”且具有“status”==“active”和“branch”的项目。我有下面的代码,但它返回所有文档,第二个文档有一个空的“info”数组。

db.getCollection('items')
.aggregate([
  {$match:{$and:[
                {"status":'active'},
                {"name":{$exists:true}}
            ]
}},
{$lookup:{
    as:"info",
    from:"inventory",
    let:{fruitId:"$id"},
    pipeline:[
     {$match:{
         $and:[
            {$expr:{$eq:["$item_id","$$fruitId"]}},
            {"branch":{$eq:"main"}},
            {"branch":{$exists:true}}
         ]         
         }    
     }
    ]    
}}
])
Run Code Online (Sandbox Code Playgroud)

谁能给我一个关于如何解决这个问题的想法?

pipeline aggregate mongodb

3
推荐指数
1
解决办法
7680
查看次数

使用 DirectRunner 可视化 Beam 管道运行的方法

在GCP中我们可以看到管道执行图。通过 DirectRunner 在本地运行时是否可以实现同样的效果?

pipeline view apache-beam direct-runner

3
推荐指数
1
解决办法
1089
查看次数

如何专门针对 bash 脚本中的失败而使 Azure DevOps 管道任务失败

我正在使用 Azure Devops 管道,其中有一项任务将创建 KVM 来宾 VM,一旦通过主机内的打包程序创建 VM,它将运行 bash 脚本来检查来宾 VM 内运行的服务的状态。如果任何服务未运行或抛出错误,则此 bash 脚本将以代码 3 退出,因为我已在 bash 脚本中添加了值,如下所示

设置-e

因此,如果上述 bash 脚本失败,我希望任务失败,但问题与创建 KVM 来宾虚拟机的任务相同,因此在启动和关闭时它会抛出预期的错误,但我不希望此任务由于这些错误而失败,但是只有 bash 脚本才会失败。

我在任务“标准错误失败”中选择了选项,但不确定我们如何专门针对 bash 脚本错误使任务失败,任何人都可以对此有一些建议吗?

bash pipeline azure azure-devops azure-pipelines

3
推荐指数
1
解决办法
7079
查看次数

在 Azure DevOps 管道中并行运行前两个阶段

是否可以在 Azure DevOps 管道中并行运行前两个阶段?默认情况下,每个阶段仅在前一个阶段完成后启动,除非通过 dependentOn 属性另有指定。

目前的情况是:

在此输入图像描述

我想并行运行 iOS_Dev_Build 和 iOS_QA_Build 这两个阶段。没有为 iOS_QA_Build 添加 dependentOn 条件。但默认情况下,它会等待 iOS_Dev_Build 阶段完成才开始

pipeline devops azure-devops azure-pipelines azure-pipelines-release-pipeline

3
推荐指数
1
解决办法
4415
查看次数

使用 sklearn pipeline 进行分类任务时,形状图(树解释器)中出现错误

我正在使用 sklearn 管道进行分类任务,如下所示:

from sklearn.datasets import fetch_openml
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.impute import SimpleImputer
from sklearn.compose import ColumnTransformer
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import OrdinalEncoder

import shap


# -----------------------------------------------------------------------------
# Data
# -----------------------------------------------------------------------------

X, y = fetch_openml("titanic", version=1, as_frame=True, return_X_y=True)

categorical_columns = ["pclass", "sex", "embarked"]
numerical_columns = ["age", "sibsp", "parch", "fare"]

X = X[categorical_columns + numerical_columns]   # [1309, 7] , there is Nan values.
X_train, X_test, y_train, y_test = train_test_split(X, y, stratify=y, random_state=42)


# …
Run Code Online (Sandbox Code Playgroud)

pipeline classification treemodel scikit-learn shap

3
推荐指数
1
解决办法
2706
查看次数

如何在 GitLab 中标记管道?

如何在 GitLab 管道运行时添加标签?
当您在主分支上针对不同配置运行一些夜间(计划)管道时,这将非常有用。例如,我们每晚运行一个包含多个子模块的主分支,每个子模块都在其开发过程中的某个点(提交点 SHA)设置,我想将其标记为“MAIN”。我们运行第二个管道,我想将其标记为“HEAD”,这是拉动子模块的所有 HEAD 的结果,以查看更改在合并时是否会破坏主干。
目前它显示:

  • 最后提交消息。
  • 管道#
  • 提交SHA
  • 分店名称
  • “已安排”

这很有帮助,但很难区分它们,因为只有管道 # 在管道之间发生变化。

pipeline gitlab

3
推荐指数
2
解决办法
5059
查看次数