2023-10-01から1ヶ月間の記事一覧
■ はじめに Airflow で、Task 間で値を受け渡す際に必要な XComs について 多く触れることになりそうなので、メモっておく 目次 【1】XComs 【2】関連するAPI 1)xcom_push 2)xcom_pull 【3】サンプル 例1:Airflow v1 例2:Airflow v2 【1】XComs …
■ はじめに https://dk521123.hatenablog.com/entry/2021/10/04/230703 で、S3 Sensorを取り扱ったが Apache Airflow の Sensor (センサ) 自体を扱うことになったので メモる。 目次 【1】Sensor 【2】主なSensor 1)ExternalTaskSensor 2)FileSensor …
■ はじめに Scalaで高階関数(こうかいかんすう)を知る機会があったが Pythonでもfunctoolsモジュールで扱えるとのことなので メモってみた。 目次 【1】高階関数 (Higher-Order Functions) 【2】functools 【3】cache 1)@cache 2)@cached_property …
■ はじめに MWAA Local で AWSに繋げるようにする必要ができたのでメモ。 あと、個人的なことで作業が簡単になるように MWAA Local をちょこっと改造する 目次 【1】MWAA Local で AWSに繋げるようにするには Case1:docker/config/.env.localrunner に追…
■ はじめに Python で Snowflake の 非同期クエリを実行することになったので これを機にPython用Snowflakeコネクタを学んでみる 目次 【1】Python用Snowflakeコネクタ 【2】環境設定 【3】同期クエリ実行 1)サンプル 2)関連するAPI 【4】非同期クエ…
■ はじめに 小ネタ。 Apache KafkaでDB/Schemaを切り替える方法についてメモ。 【1】KafkaでDB/Schemaを切り替えるには * Topic を [DB].[Schema].[Table] のようにする 【2】影響する点 1)Kafkaの設定 topics # topics=db_name # 修正前 # topics=[DB].…
■ はじめに bashによる文字列置換をメモ。 【1】bashによる文字列置換 パースには、 以下の関連記事で扱った sedコマンドなど ではない方法「bashによる文字列置換」を使っている awkコマンド https://dk521123.hatenablog.com/entry/2019/11/22/223043 sed…
■ はじめに https://dk521123.hatenablog.com/entry/2023/10/22/220717 でKafka / Kafka connect を設定したので 簡易的に、kafka-python を使って、Hello worldをやってみる 目次 【1】前提条件 【2】環境設定 【3】ドキュメント 【4】サンプル 例1:P…
■ はじめに 小ネタ(本当にメモ)。 Kafka の リモートデバッグについて触れたので、メモ。 【1】環境変数 https://github.com/ppatierno/kafka-connect-amqp/blob/master/README.md#debugging export KAFKA_DEBUG=y export DEBUG_SUSPEND_FLAG=y https://g…
■ はじめに https://dk521123.hatenablog.com/entry/2023/04/23/235534 https://dk521123.hatenablog.com/entry/2023/04/24/153846 で、Kafkaの環境構築を行い https://dk521123.hatenablog.com/entry/2023/08/11/220921 で、Kafka Connectの環境構築をDocke…
■ はじめに https://dk521123.hatenablog.com/entry/2021/11/05/233309 https://dk521123.hatenablog.com/entry/2021/11/07/132014 の続き。 AWS MWAAを使うことになり、 開発環境として、MWAA Local (aws-mwaa-local-runner)を 使うことになるとのことなの…
■ はじめに https://dk521123.hatenablog.com/entry/2019/10/12/075251 からの分冊。 文字列操作について、メモ。 目次 【1】置換 / 除去 1)replace 2)removeprefix / removesuffix (From Python3.9) 【2】分割 【3】連結 【1】置換 / 除去 1)repl…
■ はじめに ローカル環境のKafkaではまったトラブルについて メモっておく 目次 【0】今回の教訓 【1】エラー「DataException: JsonConverter with schemas.enable requires」が発生する 【2】エラー「SQLException: No suitable driver found for ...」…
■ はじめに 業務で、kafka-consumer-groups.sh を使ったので Consumer や Consumer Group について、 徐々にではあるがまとめてみる 目次 【1】Consumer (Subscriber) 【2】Consumer Group 【3】Kafka Command-Line Interface (CLI) Tools 1)kafka-cons…
■ はじめに https://dk521123.hatenablog.com/entry/2015/01/26/000000 で、Antにてpatch を当てることを大昔にやったが Linuxコマンドでやることになったので、メモっておく 目次 【1】diffコマンド:差分ファイル作成方法 1)オプション 【2】patchコマ…
■ はじめに https://dk521123.hatenablog.com/entry/2023/01/24/000000 で述べた通り、Scala には、 break / continue が基本使用しない。 そこでどうするかを纏める 目次 【1】break / continue の代替案 1)break の代替案 2)continue の代替案 【2】…
■ はじめに https://dk521123.hatenablog.com/entry/2020/06/17/173717 https://dk521123.hatenablog.com/entry/2020/07/15/162459 の続き。 Lake Formation + Athena のデータアクセス調査の一環で AWA Athena (アテナ)に関連するAWS CLI を使ったので メ…
■ はじめに ScalaのモジュールをJARファイル化して JAVAしか入っていない環境で実行するってことをやっていて 意外と手間取ったので、メモ。 目次 【1】前提条件 1)sbt 含む Scala 環境 2)sbtプラグイン「sbt-assembly」 【2】JAR作成 1)作成コマン…
■ はじめに 今回は、Scala で乱数やランダム文字列についてまとめてみる 目次 【1】UUID 例1:java.util.UUID 【2】乱数 例1:scala.util.Random 【1】UUID 例1:java.util.UUID * JavaのUUIDを使う => 結局、これが一番めんどくない => 以下の関連記…
■ はじめに https://dk521123.hatenablog.com/entry/2023/03/03/000000 で、Scala の メソッド について扱ったが 今回は、Scala の 関数 について扱う。 目次 【1】関数 (Function) 【2】用語整理 1)無名関数(匿名関数) 2)バインド 【3】メソッドと…
■ はじめに https://dk521123.hatenablog.com/entry/2023/03/16/012034 https://dk521123.hatenablog.com/entry/2023/04/04/000733 の続き。 今回は、Scala で TOMLファイルの扱いについてまとめる TOML https://dk521123.hatenablog.com/entry/2023/04/25/1…
■ はじめに クラス図を書くためにUMLetを使い始めたのでメモ 目次 【1】UMLet 【2】Draw.io 【1】UMLet * 以下がある + Web版 + クライアントアプリ版 + VS Codeのプラグイン版 https://www.umlet.com/ その他 * ファイル拡張子は、*.uxf * ファイルの中…
■ はじめに Scala の 例外処理について扱う。 基本、Javaに近いが、Scala特有の機能もある。 目次 【1】try / catch / finally 【2】例外クラス定義 【3】Option / Either / Try 1)Try 【1】try / catch / finally * Javaと比較して、catch が若干違う…
■ はじめに https://dk521123.hatenablog.com/entry/2023/10/03/212007 の続き。 Flinkによる Lake Formationとの接続を ChatGPT でサンプルコード出してもらったら() 目次 【1】Table API & SQL 1)Table API 2)SQL 3)Catalogs 【2】準備 - 依存ラ…
■ はじめに Flinkによる Lake Formationとの接続を調べる際に DataStream API が候補に挙がったので調べてみた 目次 【1】DataStream API 1)公式ドキュメント 2)一般サイト 【2】準備 - 依存ライブラリ - 1)sbt 【3】サンプル 例1:Hello World 【…
■ はじめに WSL + Python 時でのトラブルについてまとめた 【1】エラー「bad interpreter」が表示 pip install しようとした際にエラー「bad interpreter」 1)エラー内容 bash: /mnt/c/Users/user/.pyenv/pyenv-win/shims/pip: /bin/sh^M: bad interprete…