🫐
dlt(data load tool)を試す。[Harlequin SQL IDE]
dlt(data load tool)とは
Python のオープンソース ライブラリで、おもに多様なデータソースからデータ基盤にデータを転送するときに利用する。embulkあたりが競合かなSaaSだとfivetranやtroccoあたりが競合かなという理解。
コネクタ
データ転送元としては、ほどんどのDBが対応しており、広告系だとGAとかFBがあり今後の拡充に期待
セットアップ
dltをインストール
pip install dlt
pip install dlt[duckdb]
転送用の実行ファイル作成(何も転送していないけど)
# quick_start_pipeline.py
import dlt
data = [{"id": 1, "name": "Alice"}, {"id": 2, "name": "Bob"}]
pipeline = dlt.pipeline(
pipeline_name="quick_start", destination="duckdb", dataset_name="mydata"
)
load_info = pipeline.run(data, table_name="users")
print(load_info)
Pythonファイル実行
python quick_start_pipeline.py
duckdb閲覧用のIDEインストール
DuckDB 用のオープンソースのターミナルベースの SQL IDEであるHarlequin SQL IDE
を使用する
pip install harlequin
IDE起動
harlequin "quick_start.duckdb"
エディタ画面で下記のSQLを実行
select * from "quick_start"."mydata"."users"
結果確認
id | name | _dlt_load_id | _dlt_id |
---|---|---|---|
1 | Alice | 1706575114 | 4yIuFZ4prtx1Fw |
2 | Bob | 1706575114 | XJ+fKaxgYrJwNQ |
クエリ結果コピペ問題
Harlequin SQL IDE
を使って見ようと思ったきっかけは下記の投稿です。
動画のようにコピペできない(2024/01/30時点でpip installで入るバージョンは1.13.0
でした)
投稿でv1.8.0でできるよって書いてあったのでに出来ないという謎
v1.8.0にダウングレードしたけど出来ない。
どうやら、現行バージョンでは、クエリエディタしかコピペに対応していないみたいです
Note: Currently copying and pasting is only supported by the query editor, not the other widgets.
結果の出力
ctrl+e
でCSVに出力はできるのでこれを利用。
ctrl+e
:返されたデータを CSV、Parquet、または JSON ファイルに書き込みます。
参考
Discussion