4.1 データソース
4.1.1 概要
データ作成はデータセットを作成することを目的とする。データセットの作成はデータソースに依存する。データソースは名前のとおりでデータのソースとなる。
データのソースはたくさんある。ソースをファイルデータソース、データベース、ビッグデータエンジンデータソースと第三者I/Fデータソースに分ける。DataVizで、よくある20種類以上のデータソースをサポートする。
下図のとおり:
- ファイルデータはExcelとCSVの2種類がある。
- データベースのデータソースはMySQL、Oracle、SQLServer、PostgreSQL、Gbase、Informix、達夢、神通、DB2とH2の10種類がある。
- ビッグデータのデータソースは、Kylin、Cloudera Impala、Hive、memsql、MongoDBとPhoenixの6種類ある。
- 第三者I/Fのデータソースは、ODataとRestの2種類がある。
データソースはユーザのリソースである。同一ユーザがダウンロードしたデータソースはどの項目でも使用できるが、別ユーザが使用できない。
4.1.1.1 ファイルデータソース
ファイルデータソースは、データを保存するファイルをアップロードする必要がある。また、データソースのデータを更新しようとする場合、ファイルのデータを変更した後で改めてファイルをアップロードする必要がある。 また、ファイルデータソースはフォーマットが特定されているため、複雑すぎるフォーマットを解析できない。
4.1.1.1.1 Excelデータソース
Excelデータソースは複数のSheetをサポートする。Sheetごとに1テーブルとして解析する。Sheetの1行目をテーブルヘッダとする。テーブルヘッダのセルの内容が空になってはいけない。
テーブルヘッダがテーブルのフィールド名称として解析される。フィールドのデータ型はセルのフォーマットと正規表現で解析する。具体的なフォーマットは下記の通り:
4.1.1.1.2 CSVデータソース
CSVデータソースは、各列の内容をダブルクォーテーション("")で囲み、各行のデータの各列の内容を半角カンマ(,)で区切る。1行目をテーブルヘッダとする。
テーブルヘッダの列の内容が空になってはいけない。テーブルヘッダがカラム名として解析される。具体的なフォーマットは下記の通り:
4.1.1.2 データベースとビッグデータエンジンデータソース
データベースとビッグデータエンジンデータソースはJDBC(Java DataBase Connectivitとはjavaデータベースに接続し、SQL文を実行するためのJava APIとすること。 多関係のデータベースに統一的なアクセスを提供し、Javaで作成したクラスとI/Fで構成し、JDBCから基準を提供し、その基準によってもっとよいツールとI/Fを作成することができる。 データベース開発者がデータベースのアプリケーションを作成することが可能になる。)に基づいて実現するので、JDBCをサポートする。製品リストに入っていないデータベース製品について該当する開発チームに連絡することが可能。
DataViz内蔵のImaplaとPhoenixのデータソースについての注意点は下記の通り:
Impala自体は中国語の元データをサポートしない。hiveを介して読み込んで、internalConfig.properties の下記内容を設定する必要がある。
internal.hiveHost=master internal.hivePort=10000
Phoenixデータソース
DataVizが所在するサーバのhostsファイルに設定を追加する。PhoenixサービスのZookeeperのhostnameがmasterの場合、下記内容を追加する。
10.4.53.163 master
- DataViz代替のguava-xxx.jarのバージョン範囲は12~16である。
データベースschemaを起動し、hbaseサービスの設定ファイルhbase-site.xmlおよび、datavizサービスのphoenix client jar packageの hbase-defualt.xmlに下記内容を追加する。
<property> <name>phoenix.schema.isNamespaceMappingEnabled</name> <value>true</value> </property> <property> <name>phoenix.schema.mapSystemTablesToNamespace</name> <value>true</value> </property>
4.1.1.3 第三者I/Fデータソース
第三者I/Fデータソースは、ODataとRestのデータソースと、OAuth2.0権限検証をサポートする。I/Fデータソースから取得したデータをメモリデータベースに入れる。 データの更新時間間隔はデフォルトとして30分である。設定ファイルinternalConfig.propertiesで時間間隔を1分に設定することが可能である。リアルタイムに更新したい場合、時間間隔を0に設定すればよい。 設定は下記の通り:
internal.oDataInterval=30
4.1.1.3.1 ODataデータソース
ODataデータソースのI/Fは、データ返却フォーマットを指定するためのRestとする。I/Fで返却したデータのフォーマットがJsonであり、valueキーワードをデータリストの名称とする。 具体的なフォーマットは下記の通り:
{
"value": [{
"orderId": "2016010313265448",
"orderDate": "2016-01-03",
"category": "食べ物",
"goods": "パン",
"count": 2,
"cost": 2.8,
"payment": 8.8,
"buyer": "徐さん",
"province": "江西省",
"city": "南昌市"
}, {
"orderId": "2016011352714789",
"orderDate": "2016-01-13",
"category": "洋服",
"goods": "男性Tシャツ",
"count": 1,
"cost": 41.0,
"payment": 180.0,
"buyer": "胡さん",
"province": "遼寧省",
"city": "大連市"
}]
}
4.1.1.3.2 Restデータソース
RestデータソースのI/Fは、直接リストデータを返却する。
I/Fで返却したデータのフォーマットがJsonである。具体的なフォーマットは下記の通り:
[{
"orderId": "2016010313265448",
"orderDate": "2016-01-03",
"category": "食べ物",
"goods": "パン",
"count": 2,
"cost": 2.8,
"payment": 8.8,
"buyer": "徐さん",
"province": "江西省",
"city": "南昌市"
}, {
"orderId": "2016011352714789",
"orderDate": "2016-01-13",
"category": "洋服",
"goods": "男性Tシャツ",
"count": 1,
"cost": 41.0,
"payment": 180.0,
"buyer": "胡さん",
"province": "遼寧省",
"city": "大連市"
}]
4.1.2 データソース管理
プロジェクトリソース画面で“データ作成”を押下し、データソース管理画面に入る。画面は下記の通り:
4.1.2.1 データソース作成
上側の“データソース”を押下し、データソースを作成し、データソースタイプ選択画面に入る。
ファイルデータソースを選択してから出される画面:
サーバのリソースの使用状況を考慮した上で、ファイルのデータソースは最大20Mのファイルをアップロードすることとする。 調整が必要な場合、Datavizのバックグラウンドのサービスのdataviz-chartdata.jarのdatasourceType.yamlファイルを変更する。変更内容は下記の通り:
ファイルをアップロードした後、確認して保存する。
データベースのデータソースを選択してから出される画面:
データソースの情報を入力した後、「接続テスト」を押下すると、データソースが正しく接続できているかをテストできる。その後、確認して保存する。
複数のデータベースを関連付けて使用する場合、‘schema跨り’をチェックし、使用必要なデータベースをチェックする。これで、データセット作成画面で選択されているデータベースのテーブルが確認できる。 schema跨りの設定は下記の通り:
第三者ODataとRestのデータソースを選択してから出される画面:
I/Fリクエストアドレスを入力し、オーソライズ方法を選択してオーソライズ情報を入力し、データソースを保存する。
データソースを保存できた後、直接データセット画面に入る。
4.1.2.2 データソース編集
データソース管理画面でデータソースにカーソルを当てて「編集」ボタンを押下すると、データソース編集画面が出され、データソースの情報を変更する。下図の通り:
ExcelデータソースとCSVデータソースは、データを更新しようとする場合、編集し改めてデータをアップロードする。
4.1.2.3 データソース削除
データソース管理画面で、データソースにカーソルを当てて「削除」ボタンを押下すると、データソースを1つ1つ削除する。下図の通り:
画面の右上の削除アイコンをクリックし、削除しようとするデータソースを選択し、下側の「削除」ボタンを押下して一括削除する。下図の通り:
データソースがデータセットに使用されている場合、削除できない。テロップが出される。
4.1.2.4 データソースリネーム
データソース管理画面で、データソースにカーソルを当てて「リネーム」ボタンを押下すると、データソースをリネームする。下図の通り:
4.1.2.5 ファイルデータソースエクスポート
データソース管理画面で、データソースににカーソルを当てて「エクスポート」ボタンを押下すると、データソースのデータをエクスポートする。下図の通り: