データ・セットはBig Data Discovery内を移動するため、その途中の処理を知っておくと役に立ちます。
データ・セット・ライフサイクルを説明する前に、Hive表で検索されたソース・データ・セットをBDDがどのように処理するかについて次に示します。
- BDDでは、ソースのHive表の更新または削除は行われません。BDDを実行した場合、BDDデータ・セットを表す新しいHive表が作成されるのみです。このため、Big Data Discoveryの外部でソースのHive表を使用する場合、Hive表は変更されていません。
- BDDデータ・セット・ライフサイクルで発生するほとんどのアクションは、ユーザーが選択しているため発生します。実行するアクションはユーザーが制御します。BDDの索引付けは自動的に実行されるステップです。
この図は、データ・セットがBDD内を移動するときのデータ・セットのライフサイクルの各ステージを示しています。
この図では、データ・セットは次の各ステージを移動します。
- データ・セットを作成します。次の2つの方法のいずれかでBDDにデータ・セットを作成します。
- Studioを使用してソース・データをアップロードします。デリミタ付きファイルのソース・データをアップロードし、JDBCデータ・ソースからアップロードできます。ソース・データをアップロードすると、BDDは、ソース・データ・ファイルに基づいて対応するHiveソース表を作成します。
- データ処理CLIを実行して、Hive表を検出し、ソースHive表に基づいてStudioにデータ・セットを作成します。ソースHive表ごとに、対応するデータ・セットがStudioに作成されます。
Studioのデータ・セットの「カタログ」には、2つのタイプのデータ・セットが表示されます。一部のデータ・セットのソースは、個人的にロードしたファイルまたはJDBCソースです。他のデータ・セットは、データ処理によってソースHive表からロードされます。
- 必要であれば、データ・セットのエンリッチメントを選択することもできます。データ処理ワークフローのデータ・エンリッチメント・ステップは、データ・セットをサンプリングして、それに対してデータ・エンリッチメント・モジュールを実行します。たとえば、言語検出、単語出現頻度/逆文書頻度(TF/IDF)、住所のジオコーディング、IPのジオコーディング、逆ジオタガのエンリッチメント・モジュールを実行できます。データ・エンリッチメント・プロセスの結果は、Hive表ではなくStudioのデータ・セットに格納されます。
注意: BDDのデータ処理(DP)コンポーネントでは、データ・セットの作成の一部として、このステップをオプションで実行します。
- データ・セットのインデックス付けを行います。Dgraphプロセスが、データ・セット(およびその他の構成)を表すバイナリ索引ファイルを作成します。Dgraphが索引ファイルにアクセスして、Studioの問合せに応答します。これによって、データ・セットを検索できます。
- データ・セットへのアクセス権を管理します。データ・セットをアップロードすると、プライベート・アクセス権が付与されます。アクセス権を変更して他のユーザーに付与できます。Hiveをソースとするデータ・セットはパブリックです。Studioの管理者はこれらの設定を変更できます。
- データ・セットを変換します。このためには、メニューからクイック変換を使用するか、ビルトイン・エディタで記述するカスタム変換スクリプトを使用します。「変換」を使用すると、データ・セットのライフ・サイクルに影響する2つの操作(新しいデータ・セットの作成(新しいHive表が作成されます)と、既存のデータ・セットを変更する変換スクリプトのコミット)を使用できます。
変換スクリプトの変更をコミットすると、Studioによって変更内容がDgraphに書き込まれ、変更内容がDgraphの索引に格納されます。Studioによって、データ・セットに対応する新しいHive表は作成されません。ソースHive表そのものではなく、Dgraph内のデータ・セットを変更します。
- データ・セットを更新します。データ・セットを更新するには、複数のオプションがあります。たとえば、データ・セットを個人データ・ファイルからロードした場合、またはJDBCソースからインポートした場合は、このデータの新しいバージョンを「カタログ」にリロードできます。データ・セットがHiveからロードされた場合は、DP CLIを使用してデータ・セットのデータをリフレッシュできます。
また、「フル・データ・セットのロード」も使用できます。このオプションは、サンプルを表すデータ・セットに便利です。データ・セットがプロジェクトにある場合は、DP CLIによる増分更新用にデータ・セットを構成することもできます。
- データ・セットをエクスポートします。データ・セットがプロジェクトにある場合は、エクスポートできます。たとえば、変換の適用後にデータ・セットをHDFSにエクスポートできます。このように、Rなどの他のツールを使用して、このデータ・セットの操作を続行できます。また、データ・セットをエクスポートして、新しいデータ・セットを「カタログ」に作成できます。この図では、「エクスポート」が最後のステップとして表示されていますが、データ・セットのエクスポートは、データ・セットをプロジェクトに追加した後であれば、そのライフサイクルのどのステージでも実行できます。
- データ・セットを保存します。データ・セットのライフサイクルの任意のステージで、他のユーザーとデータ・セットを共有できます。
- データ・セットを削除します。Studioでデータ・セットを削除すると、データ・セットが「カタログ」から削除されるため、Studioではアクセスできなくなります。ただし、データ・セットを削除しても、このデータ・セットがロードされたときに、BDDによって作成された対応するソースHive表は削除されません。
BDDでは元のソースHive表の更新または削除は行われないことに注意してください。BDDでは、BDDデータ・セットを表す新しいHive表が作成されるのみです。場合によっては、Hiveデータベースをクリーンに保つためにHiveデータベース管理者に古い表の削除を依頼する必要があります。Hiveデータベース管理者がデータベースからHive表を削除した場合、Hive表ディテクタは表が削除されたことを検出し、対応するデータ・セットをStudioの「カタログ」から削除します。Hive表ディテクタとは、BDDのデータ処理コンポーネントのユーティリティです。