Closed4

Dagster UniversityのDagster & dbtに取り組んだログ

kei_qkei_q

Lesson2 Step2のSet up the Dagster project
dagster dev を実行するとDagster UIが見られるもののエラーになる

これの原因はdagster1.6から1.7になるにあたり AssetSelection.keys() がdeprecatedになったことに起因する
https://docs.dagster.io/changelog#deprecations

dagster universityで使用しているprojectのsetup.pyでは次のようになっており、dagster-1.6系が使われる。

from setuptools import find_packages, setup

setup(
    name="dagster_university",
    packages=find_packages(exclude=["dagster_university_tests"]),
    install_requires=[
        "dagster==1.6.*",
        "dagster-cloud",
        "dagster-duckdb",
        "dagster-dbt",
        "dbt-duckdb",
        "geopandas",
        "kaleido",
        "pandas[parquet]",
        "plotly",
        "shapely",
        "smart_open[s3]",
        "s3fs",
        "smart_open",
        "boto3",
    ],
    extras_require={"dev": ["dagster-webserver", "pytest"]},
)

そのため、dagsterを1.7系にするか、エラーの起きた部分を AssetSelection.keys にする必要がある。1.7の他のbreaking changesまで確認するのが面倒なので、一旦tutorialを進めるために次のように書き換える:

dagster_university/jobs/__init__.py
-trips_by_week = AssetSelection.assets("trips_by_week")
-adhoc_request = AssetSelection.assets("adhoc_request")
+trips_by_week = AssetSelection.keys("trips_by_week")
+adhoc_request = AssetSelection.keys("adhoc_request")

この後あらためて dagster devを実行したところ、エラーは解消されてスクショのようなlineageが手元の環境でも確認できた

kei_qkei_q

同じく Lession2のStep2

手順に沿ってMaterialize all... をしようとしたところ、次のようなwarningが表示されたが特にcourseの方に説明はない

最初から挿入されていた期間を手順に従い 2023-01-01 に変更するとwarningは出なくなる


今回はこの件は本題ではないので、大量のjobを実行するときにQueuedRunCoordinatorをあらためて学習する

kei_qkei_q

data/raw/taxi_trips_2023-03.parquetがないと言われる
下記からfileを取得しようとしているらしい
https://www.nyc.gov/site/tlc/about/tlc-trip-record-data.page
fileの取得自体は成功していたが、取得したfileをおくdirectoryが存在しないためエラーになっていた
mkdir data/raw すれば良い

ChildProcessCrashExceptionが出て辛かったけど、原因はメモリ不足
devcontainerの中で試していて、Dockerで2GBしかメモリを割り当てておらず、 taxi_trip_filesの処理でメモリが不足した結果死んだらしい
Dockerのメモリ割り当てを2GB->4GBに増やして再実行したら成功した

このスクラップは2024/05/01にクローズされました