CData Software Blog

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

Parquet形式で保存された在庫データをPower BIで可視化する

本記事ではCData Parquet Power BI Connectorを利用し、Parquet形式のデータをPower BIで可視化する方法を紹介します。

Parquet

ParquetはHadoopの各種プロジェクトで利用できるオープンソースのファイルフォーマットです。 カラムナフォーマットと呼ばれるデータ保存形式で、必要なカラムのみを読み込むことでIOを削減し、データアクセス速度の向上を実現します。 CSVのような行ベースのファイルと比較すると、巨大なテーブルから特定の列を読み込むようなクエリに対して優れたパフォーマンスを発揮します。

parquet.apache.org

Parquet形式データの作成方法

Parquet形式のデータを作成する方法はいくつかありますが、Pythonを使う方法が簡単です。 以下にCSVファイルをParquetファイルに変換するサンプルコードを載せます。 これを実行するにはPandasとPyarrowのインストールが必要です。

Pandasのインストール

> pip install pandas

Pyarrowのインストール

> pip install pyarrow

CSVファイルをParquetファイルに変換するコード

import pandas as pd
import pyarrow as pa
import pyarrow.parquet as pq

df = pd.read_csv('./data.csv')
table = pa.Table.from_pandas(df)
pq.write_table(table, './data.parquet',compression='none')

シナリオ

今回はParquet形式で保存されているデータをCData Parquet Power BI Connectorを通して取得し、Power BI上で可視化します。 対象とするデータは5年間の日別の生産(Production)、販売(Sales)、在庫(Inventory)の時系列データです。

f:id:urabe_shintaro:20200819155920p:plain

※上の画像はCSV形式の対象データをExcelで表示したものです。

事前準備:CData Parquet Power BI Connectorのインストール

CData Power BI ConnectorsはMicrosoftが提供するデータ可視化ツール「Power BI」と、Parquetを含む200種類以上のクラウドサービスとのデータ連携を実現するコネクタです。 今回はCData Parquet Power BI Connectorを使ってParquetからデータを読み込みます。

CData Software Japan社のCData Parquet Power BI Connectorダウンロードページにアクセスしてください。 ダウンロードページの「ベータ版ダウンロード」をクリックすると必要事項入力画面が表示されます。

f:id:urabe_shintaro:20200819160009p:plain

必要事項を入力し、「ダウンロード」をクリックするとCData Parquet Power BI Connector ベータ版のインストーラがダウンロードされます。 ダウンロードしたファイルをダブルクリックするとインストーラが起動しますので、ウィザードに従ってインストールしてください。 途中、ライセンスサーバーへのオンラインアクティベーションが行われるためネットワーク環境に接続されている必要があります。 ライセンスサーバにアクセス出来ないネットワーク環境の場合は、CData Software Japan テクニカルサポートまでお問い合わせください。

ドライバのインストールが完了すると接続設定画面が表示されますので、URIにParquetファイルのパスを設定してください。 必須の設定項目についてはヘルプをご覧ください。

f:id:urabe_shintaro:20200819160023p:plain

複数ファイルの読み込み

一度に複数のファイルを読み込む場合、一つのフォルダにParquetファイルを配置してURIに対象のフォルダを指定してください。

例えば以下のフォルダにある3つのファイルを読み込む場合、URIにフォルダのパスである「C:\Work\Data」を指定します。 f:id:urabe_shintaro:20200819193251p:plain

f:id:urabe_shintaro:20200819160730p:plain

このとき、AggregateFilesをFalseにするとParquetファイルごとにテーブルが作成され、AggregateFilesをTrueにするとフォルダ内のParquetファイルが一つのテーブルに統合されます。

AggregateFilesをTrueに設定したときの統合イメージを以下に示します。テーブルのスキーマは基本的にはフォルダ内の最初のファイルに従います。

f:id:urabe_shintaro:20200819162718p:plain

リモートファイルの読み込み

Parquet Connectorはローカルファイルだけでなくクラウド上のファイルを読み込むことができます。 例えば以下のようにURIに直接ダウンロードURLを記述することでリモートのファイルを読み込むことができます。

f:id:urabe_shintaro:20200819160046p:plain

S3のファイルへのアクセスについてはこちら、Azure Data Lake Storageへのアクセスはこちらを参考にしてください。

Power BIの設定

続いてインストールしたドライバを用いてPower BI上にデータを読み込みます。

メニューの「データを取得」をクリックします。

f:id:urabe_shintaro:20200305094913p:plain

コネクタの一覧から「CData Parquet」を選択します。

f:id:urabe_shintaro:20200819163005p:plain

「Data Source Name」に「CData Power BI Parquet」と入力し「OK」を押下します。

f:id:urabe_shintaro:20200819163123p:plain

接続が完了するとParquetのテーブル一覧が取得できます。 今回はpsidata.parquetという一つのファイルを読み込んだため、「psidata」というテーブルが一つ生成されています。 このテーブルを選択し、「読み込み」を押下します。

f:id:urabe_shintaro:20200819163139p:plain

これでParquetのデータの読み込みは完了です。

データ表示例

Power BIの操作方法はMicrosoftのヘルプ等をご覧ください。

下図はParquetから取得した日別の生産、販売、在庫の時系列推移を表示したグラフです。 生産が棒グラフ、販売と在庫を線グラフで表しています。

f:id:urabe_shintaro:20200819163300p:plain

このように、簡単な操作でParquet上のデータをPower BI上に読み込むことができました。

おわりに

今回はCData Parquet Power BI Connectorを使ってParquetからPower BIへデータを取り込みグラフを作成しました。

CData Driversを利用することで、Parquetを含む200を超えるクラウドサービスとのデータ連携がノーコードで実現できます。

f:id:urabe_shintaro:20200131184240p:plain

CData Parquet Power BI Connectorはベータ版を無料でご利用頂けます。 Parquetとクラウドサービスとのデータ連携をご検討の方はぜひお試しください。