2023-10-01から1ヶ月間の記事一覧

【Airflow】Apache Airflow ~ XComs ~

■ はじめに Airflow で、Task 間で値を受け渡す際に必要な XComs について 多く触れることになりそうなので、メモっておく 目次 【1】XComs 【2】関連するAPI 1)xcom_push 2)xcom_pull 【3】サンプル 例1:Airflow v1 例2:Airflow v2 【1】XComs …

【Airflow】Apache Airflow ~ Sensor ~

■ はじめに https://dk521123.hatenablog.com/entry/2021/10/04/230703 で、S3 Sensorを取り扱ったが Apache Airflow の Sensor (センサ) 自体を扱うことになったので メモる。 目次 【1】Sensor 【2】主なSensor 1)ExternalTaskSensor 2)FileSensor …

【Python】functools ~ 高階関数 ~

■ はじめに Scalaで高階関数(こうかいかんすう)を知る機会があったが Pythonでもfunctoolsモジュールで扱えるとのことなので メモってみた。 目次 【1】高階関数 (Higher-Order Functions) 【2】functools 【3】cache 1)@cache 2)@cached_property …

【Airflow】MWAA Local ~ AWSに繋げるようにするには ~

■ はじめに MWAA Local で AWSに繋げるようにする必要ができたのでメモ。 あと、個人的なことで作業が簡単になるように MWAA Local をちょこっと改造する 目次 【1】MWAA Local で AWSに繋げるようにするには Case1:docker/config/.env.localrunner に追…

【Snowflake】Snowflake ~ Pythonでクエリ実行 ~

■ はじめに Python で Snowflake の 非同期クエリを実行することになったので これを機にPython用Snowflakeコネクタを学んでみる 目次 【1】Python用Snowflakeコネクタ 【2】環境設定 【3】同期クエリ実行 1)サンプル 2)関連するAPI 【4】非同期クエ…

【Kafka】Kafka Connect ~ DB/Schema切替 ~

■ はじめに 小ネタ。 Apache KafkaでDB/Schemaを切り替える方法についてメモ。 【1】KafkaでDB/Schemaを切り替えるには * Topic を [DB].[Schema].[Table] のようにする 【2】影響する点 1)Kafkaの設定 topics # topics=db_name # 修正前 # topics=[DB].…

【Shell】シェル ~ 文字列置換 ~

■ はじめに bashによる文字列置換をメモ。 【1】bashによる文字列置換 パースには、 以下の関連記事で扱った sedコマンドなど ではない方法「bashによる文字列置換」を使っている awkコマンド https://dk521123.hatenablog.com/entry/2019/11/22/223043 sed…

【Kafka】kafka-python ~ 入門編 ~

■ はじめに https://dk521123.hatenablog.com/entry/2023/10/22/220717 でKafka / Kafka connect を設定したので 簡易的に、kafka-python を使って、Hello worldをやってみる 目次 【1】前提条件 【2】環境設定 【3】ドキュメント 【4】サンプル 例1:P…

【Kafka】Apache Kafka ~ Remote debug ~

■ はじめに 小ネタ(本当にメモ)。 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…

【Kafka】Kafka Connect ~ 環境構築編 ~

■ はじめに 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…

【Airflow】MWAA Local ~ 入門編 ~

■ はじめに 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)を 使うことになるとのことなの…

【Python】Python ~ 基本編 / 文字列操作 ~

■ はじめに https://dk521123.hatenablog.com/entry/2019/10/12/075251 からの分冊。 文字列操作について、メモ。 目次 【1】置換 / 除去 1)replace 2)removeprefix / removesuffix (From Python3.9) 【2】分割 【3】連結 【1】置換 / 除去 1)repl…

【トラブル】【Kafka】ローカル環境のKafkaでのトラブル

■ はじめに ローカル環境のKafkaではまったトラブルについて メモっておく 目次 【0】今回の教訓 【1】エラー「DataException: JsonConverter with schemas.enable requires」が発生する 【2】エラー「SQLException: No suitable driver found for ...」…

【Kafka】Apache Kafka ~ Consumer ~

■ はじめに 業務で、kafka-consumer-groups.sh を使ったので Consumer や Consumer Group について、 徐々にではあるがまとめてみる 目次 【1】Consumer (Subscriber) 【2】Consumer Group 【3】Kafka Command-Line Interface (CLI) Tools 1)kafka-cons…

【Linux】 diff & patch コマンド ~ パッチ適用 ~

■ はじめに https://dk521123.hatenablog.com/entry/2015/01/26/000000 で、Antにてpatch を当てることを大昔にやったが Linuxコマンドでやることになったので、メモっておく 目次 【1】diffコマンド:差分ファイル作成方法 1)オプション 【2】patchコマ…

【Scala】Scala ~ break / continue ~

■ はじめに https://dk521123.hatenablog.com/entry/2023/01/24/000000 で述べた通り、Scala には、 break / continue が基本使用しない。 そこでどうするかを纏める 目次 【1】break / continue の代替案 1)break の代替案 2)continue の代替案 【2】…

【AWS】Athena ~ AWS CLI ~

AWS

■ はじめに 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】SBT ~ JAR作成/実行 ~

■ はじめに ScalaのモジュールをJARファイル化して JAVAしか入っていない環境で実行するってことをやっていて 意外と手間取ったので、メモ。 目次 【1】前提条件 1)sbt 含む Scala 環境 2)sbtプラグイン「sbt-assembly」 【2】JAR作成 1)作成コマン…

【Scala】Scala ~ 乱数 / ランダム ~

■ はじめに 今回は、Scala で乱数やランダム文字列についてまとめてみる 目次 【1】UUID 例1:java.util.UUID 【2】乱数 例1:scala.util.Random 【1】UUID 例1:java.util.UUID * JavaのUUIDを使う => 結局、これが一番めんどくない => 以下の関連記…

【Scala】Scala ~ 基本編 / 関数 ~

■ はじめに https://dk521123.hatenablog.com/entry/2023/03/03/000000 で、Scala の メソッド について扱ったが 今回は、Scala の 関数 について扱う。 目次 【1】関数 (Function) 【2】用語整理 1)無名関数(匿名関数) 2)バインド 【3】メソッドと…

【Scala】Scala ~ TOML ~

■ はじめに 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…

【フリーツール】使用したソフト ~ UML編 ~

■ はじめに クラス図を書くためにUMLetを使い始めたのでメモ 目次 【1】UML Sequence Diagram Online Tool 【2】UMLet 【3】Draw.io 【4】Miro 【1】UML Sequence Diagram Online Tool * 以下のサイトにアクセスするとシーケンス図を作成できる https:/…

【Scala】Scala ~ 基本編 / 例外処理 ~

■ はじめに Scala の 例外処理について扱う。 基本、Javaに近いが、Scala特有の機能もある。 目次 【1】try / catch / finally 【2】例外クラス定義 【3】Option / Either / Try 1)Try 【1】try / catch / finally * Javaと比較して、catch が若干違う…

【Flink】Apache Flink ~ Table API & SQL ~

■ はじめに 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】Apache Flink ~ DataStream API ~

■ はじめに Flinkによる Lake Formationとの接続を調べる際に DataStream API が候補に挙がったので調べてみた 目次 【1】DataStream API 1)公式ドキュメント 2)一般サイト 【2】準備 - 依存ライブラリ - 1)sbt 【3】サンプル 例1:Hello World 【…

【トラブル】【WSL】WSL + Python 時でのトラブル

■ はじめに 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…