CData Software Blog

クラウド連携のCData Software の技術ブログです。

ZIP等の圧縮ファイルのCSV読み取りサポート:CData CSV Driver V20 Update その3

f:id:sugimomoto:20200917105741p:plain

こんにちは。CData Software Japan リードエンジニアの杉本です。

前回、前々回とV20のCSV Driver最新機能について紹介しました。

www.cdatablog.jp

www.cdatablog.jp

今回はこの2つの機能と関連した最新機能、ZIPなどの圧縮ファイルに入っているCSVファイルの読み取り機能を紹介します!

ZIPファイル読み取り機能の使い方

CData CSV Driver では今まで拡張子が「CSV,TXT,TAB」のファイルだけが読み取り可能だったのですが、ZIP等で圧縮されているCSVファイルの読み取りもサポートしました!

例えば接続対象となるフォルダには以下のようなZIPファイルが格納されていて

f:id:sugimomoto:20200917105746p:plain

実際の中身は、以下のようにCSVファイルが保管されている場合に利用できます。

f:id:sugimomoto:20200917105751p:plain

今回のサンプルデータも前回までの記事と同じく同じフォーマットのCSVファイルで、データが違うものを対象としています。

f:id:sugimomoto:20200917105758p:plain

接続設定として必要なのは、以下の3つのプロパティです。

  • URI:対象のディレクトリ:C:\Work\SampleData\CSV\AggregateFilesForSubFolders
  • Aggregate Files:集計クエリを有効にするかどうか:True
  • Include Files:読み取り対象となる拡張子:CSV,TXT,TAB, ZIP

ポイントは「Aggregate Files」を有効にする点と「Include Files」にZIPなどの圧縮拡張子を追加することです。

f:id:sugimomoto:20200917105805p:plain

なお、現在サポートしている圧縮フォーマットは「ZIP, TAR, GZ」の3種類です。

http://cdn.cdata.com/help/RVF/jp/odbc/RSBCSV_p_IncludeFiles.htm

この設定で、ODBCに Power BIからアクセスしてみると、以下のようにZIPファイルに入っているCSVファイルがまとめて「AggregatedFiles」のテーブルとして表示されます!

f:id:sugimomoto:20200917105811p:plain

「Aggregate Files」について

CData CSV Driverは、通常の接続の場合、対象のディレクトリそれぞれに存在するCSVファイルを個別のテーブルとして扱います。

それに対して前々回の記事では「Aggregate Files」というプロパティで、一つのテーブルとしてCSVまとめてクエリする機能を紹介しました。

https://www.cdatablog.jp/entry/csvdriverupdatev20no1

今回のZIP・圧縮ファイル読み取り機能では、現在「Aggregate Files」は有効化が必須になっています。なので、同じフォーマットのCSVファイルが格納されている時だけ、この圧縮ファイル読み取りが可能である点にご注意ください。

サブフォルダの扱いについて

ZIP・圧縮ファイル読み取り機能はデフォルトでサブフォルダ構成を含むZIPファイルの読み取りを行います。

なので「Include Subdirectories」は特に設定する必要がありません。

以下のようなZIPファイルでも、配下のフォルダも含めて、集計クエリとして一つのテーブルに構成されます。

C:\Work\SampleData\CSV\AggregateFilesForSubFolders.zip
│  personal_infomation_1.csv
│
├─SubFolder1
│      personal_infomation_1.csv
│
├─SubFolder2
│      personal_infomation_2.csv
│
└─SubFolder3
        personal_infomation_3.csv