Slide 1

Slide 1 text

PDFファイルから データを抜き出して テーブルに入れてみた Using Snowpark for Python 2023/11/10@沖縄 KDDIアジャイル開発センター株式会社 福田陽一

Slide 2

Slide 2 text

自己紹介 • 名前 : 福田陽一 • 会社 : KDDIアジャイル開発センター株式会社 (KAG) • 役職 : Infrastructure Engineer / Application Engineer • プロフィール • 2023年4月 KAG入社。 • 前職、前々職からKDDI関係の業務で関わりがあった。 • 現在はData Clean Roomの開発に従事。 2023/11/10@沖縄

Slide 3

Slide 3 text

Snowflakeにデータを取り込むには • データロードに対応したファイル形式 • https://docs.snowflake.com/ja/user-guide/intro-summary-loading • データロードに対応する形式にPDFは含まれていない 2023/11/10@沖縄

Slide 4

Slide 4 text

PDFの内容を取り込むには • Pythonで解決 • 実行方法 • Pythonワークシートで実行 (今回はこちら) • ストアドプロシージャとして定義して実行 • ローカル(自端末)から実行 • Snowpark • https://docs.snowflake.com/ja/developer-guide/snowpark/index > Snowparkライブラリは、Snowflakeで大規模にデータを > クエリおよび処理するための直感的なライブラリを提供します。 > 3つの言語のいずれかのライブラリを使用して、 > アプリケーションコードが実行されるシステムに > データを移動することなくSnowflakeでデータを処理し、 > 柔軟性があるサーバーレスのSnowflakeエンジンの > 一部として大規模に処理するアプリケーションをビルドできます。 • Pythonのライブラリを使用可能 2023/11/10@沖縄

Slide 5

Slide 5 text

PDFにある表データを取り込んでみる • 試してみるPDF • https://www.stat.go.jp/data/mesh/pdf/gaiyo1.pdf • 日本の地域メッシュに関する資料 • やること • 読み込みたいPDFを内部ステージに格納する • このPDFの14ページにある表のデータを抜き出して Snowflakeのテーブルに格納する 2023/11/10@沖縄 … この部分を取り込んでみる

Slide 6

Slide 6 text

Pythonワークシートでコードを書く 2023/11/10@沖縄 Snowsight上で日本語を デバッグ出力する設定 必要なライブラリのimport PDFから必要データを抜き出す コードは地道に書く ステージからファイルを読み込む PDFを読み込む データフレーム形式のデータを作成して Snowflakeのテーブルとして書き込む

Slide 7

Slide 7 text

実行結果 • うまく取得できた! 2023/11/10@沖縄 Pythonワークシートのreturn値 Pythonワークシートの デバッグ出力

Slide 8

Slide 8 text

SQLワークシートでも確認してみる • PDFからデータを抜き出して、Snowflakeのテーブルとして取り込むことができた 2023/11/10@沖縄

Slide 9

Slide 9 text

SQLワークシートでも確認してみる • 以下のSQLの実行結果は何が表示されると思いますか? 2023/11/10@沖縄 〜 ヒント

Slide 10

Slide 10 text

SQLワークシートでも確認してみる • 以下のSQLの実行結果は何が表示されると思いますか? 2023/11/10@沖縄 〜 ヒント