V22のSSIS Componentsで追加された新機能の一つである、Destination コンポーネントのCreateTable 機能をご紹介します。
この機能が活躍する代表的な例は、Parquet のDestination コンポーネントを使用するときです。
今回は、実際にParquet SSIS Components を使って、Create Table 機能の使い方をご紹介します。
今回ご紹介する、Salesforce からデータを取得して、Parquet ファイルを生成するデータフロー
Parquet とは
Apache Parquet は、効率的なデータの保存と検索のために設計された、オープンソースの列指向データファイル形式です。
ファイルは行ではなく列ごとに整理され、複雑なデータを一括処理するための効率的なデータ圧縮と符号化方式を採用することで、ビッグデータの保存や、各種分析データを保存するのに適しています。
従来のParquet SSIS Components での制限
CData Driver からParquet ファイルを生成する場合は、定義を作成するCREATE TABLE と、データを入力するINSERT を一度に行う必要があります。
しかし、V21までは、Destination コンポーネントから両者を同時に行うことができなかったため、データフローでParquet ファイルを出力する処理を作成するためには、スクリプトコンポーネントなどを使用して、自分で処理を書く必要がありました。
V22 で搭載された新規機能
V22 では、Destination コンポーネントにCreate New Table という項目が追加され、テーブル名を入力して新たにテーブル作成を行うことができるようになりました。
これによって、Parquet ファイルの生成とデータの書き込みを同時に行うことができるようになり、Destination コンポーネントで簡単にParquet ファイルを生成する処理を作成できるようになりました。
Salesforce からParquet ファイルを生成するデータフローの作成
今回は、SSIS を使って、Salesforce からParquet ファイルを生成するフローを作成してみます。
1.Salesforce SSIS Componets をダウンロードします。
SSIS Salesforce: Salesforce SSIS Components - CData Software Japan
2.Parquet SSIS Componets をダウンロードします。
SSIS Parquet: Parquet SSIS Components - CData Software Japan
3.ダウンロードしたSSIS Components をインストールします。
4.Visual Studio 2019 で、SSIS プロジェクトを作成します。
SSIS プロジェクトの詳しい作り方については、下記の記事をご参照ください。
SSIS でSQL Server からkintone へ反映(シンプル編)
5.Salesforce の接続を作成
接続マネージャーを右クリックして、新しい接続を選択し、「CDATA_SALESFORCE 」を選択して、「追加(A)...」ボタンをクリックします。
接続情報を入力して、Test Connection をクリックして接続できることが確認できたら、「OK 」ボタンをクリックします。
Name プロパティで、分かりやすい名前に変更しておきます。
6.Parquet の接続を作成
接続マネージャーを右クリックして、新しい接続を選択し、「CDATA_PARQET 」を選択して、「追加(A)...」ボタンをクリックします。
Parquet ファイルは、ローカルに保存されているファイルだけでなく、S3 や、SharePoint などのオンライン上にあるファイルにも接続できますが、ファイルの新規作成はローカルのみ可能です。
今回のケースでは、URIにローカルのフォルダーパスを指定します。
こちらも、Salesforce と同様に、Name プロパティで、分かりやすい名前に変更しておきます。
7.データフロータスクを作成
制御フローに、データフロータスクを追加し、右クリックして、「編集(E)...」をクリックして、データフロータスク画面を表示します。
8.CData Salesforce Source で、Salesforce からデータを取得
SSIS ツールボックスから、CData Salesforce Source コンポーネントを追加します。
編集画面で、取得したいテーブルを選択します。
9.CData Parquet Destination で、Parquet ファイルを作成
SSIS ツールボックスから、CData Parquet Destination コンポーネントを追加します。
Salesforce Source コンポーネントと、Parquet Destination コンポーネントを接続します。
編集画面を開き、「Use a table」から、「」を選択します。
Create Table ダイアログが表示されるので、作成するテーブル名(ここでは、Parquet のファイル名) を入力します。
Columns と Mappings で、列が正しく認識されていることを確認します。
V22 では、Mappings 画面にDiagramView が追加され、視覚的に確認できるようになりました。
画面上で項目をドラッグすることで関連付けを行うこともできます。
10.実行
作成したフローを実行します。
指定したフォルダー内に新たにParquet ファイルが作成されました。
作成されたParquet ファイルを、ParquetViewer で表示
11.まとめ
Destination コンポーネントのCreate Table 機能は、テーブルが作成可能な他のデータソースでも利用することができます。
データフローで、テーブル作成とデータの挿入を同時に行うことができるので、ぜひ活用してみてください。
この記事では CData SSIS Components For Parquet 2022 - 22.0.8277.0 を利用しています。
関連コンテンツ