プライマリ・コンテンツに移動
Oracle® Big Data Discovery Cloud Serviceデータ処理ガイド

E65369-05
目次へ
目次
索引へ移動
索引

前
次
機械翻訳について

サンプリングと属性の処理

新規データ・セットを作成する場合、データ処理ワークフローがHive表から処理するレコードの最大数を指定できます。

Hive表からのサンプリングされたレコードの数は、StudioまたはDP CLIの構成によって設定されます:
  • Studioでは、Studioコントロール・パネルの「データ処理設定」ページのbdd.sampleSizeパラメータ。
  • DP CLIでは、maxRecordsForNewDataSet構成パラメータまたは--maxRecordsフラグ。

これらのパラメータの設定がHive表のレコード数より大きい場合は、すべてのHiveレコードが処理されます。 この場合、データ・セットは完全なデータ・セットとみなされます。

属性の検出

データ処理検出フェーズでは、Dgraph属性スキーマを提示するためにデータ・セット・メタデータを検出します。 Dgraphスキーマの詳細は、「Dgraphデータ・モデル」を参照してください。

文字列属性のレコードおよび値の検索設定

DPデータ型検出機能が、属性を文字列属性にする必要があると判断した場合、レコード検索の設定および属性の値検索は、bdd.confファイルの2つのプロパティの設定に従って構成されます:
  • 平均文字列長がRECORD_SEARCH_THRESHOLDプロパティ値より大きい場合、属性はレコード検索可能として構成されます。
  • 平均文字列長がVALUE_SEARCH_THRESHOLDプロパティ値以下である場合、属性は値検索可能として構成されます。

どちらの場合も、平均文字列長は、その列の値の文字列の平均長を表します。

DP CLIで--disableSearchフラグを使用すると、この動作をオーバーライドできます。 このフラグを使用すると、属性値の文字列の平均長にかかわらず、文字列属性のレコード検索および値の検索設定はfalseに設定されます。 --disableSearchフラグの使用について、次の点に注意してください:
  • このフラグは、プロビジョニング・ワークフロー(新しいデータ・セットがHive表から作成された場合)およびリフレッシュ更新ワークフロー(DP CLIの--refreshDataフラグが使用されている場合)にのみ使用できます。 他のタイプのワークフローでこのフラグを使用することはできません(たとえば、--incrementalUpdateフラグを使用するワークフローは、--disableSearchフラグでサポートされません)。
  • 検索の無効化ワークフローはDP CLIでのみ実行できます。 この機能はStudioでは使用できません。

NULL値の列変換への影響

Hive表がサンプリングされる際、各列にDgraph属性が作成されます。 Dgraph属性のデータ型は、データ処理がHive列の値を解釈する方法によって異なります。 たとえば、Hive列のタイプがStringで、ブール値のみが含まれている場合、Dgraph属性のタイプはmdex:booleanです。 Dgraph属性のデータ型を決定するデータ処理計算では、基本的にNULL値は無視されます。

無効なAvro名を持つHive列名の処理

データ処理では、Avroファイルを使用してDgraphに収集するデータを(Dgraph HDFSエージェントを介して)格納します。 Avroでは、属性名はアルファベットまたはアンダースコア文字([A-Za-z_])で始める必要があり、名前の残りに使用できるのは英数字およびアンダースコア([A-Za-z0-9_])のみです。

ただし、Hive列名には、Avro属性名で許可されない文字を含むほとんどのUnicode文字を使用できます。 この形式は、Hive 0.13.0.で導入されました。

データ処理では、Avroファイルを使用して収集を実行するため、Dgraph属性の名前はAvroと同じルールに制限されます。 これは、列がAvro属性として格納されるときに、列名が次のように変更されることを意味します:
  • ASCII以外の英数字(Hive列名)は_(アンダースコア)に変更されます。
  • 先頭の文字が許可されていない場合、その文字はアンダースコアに変更され、名前の先頭にA_が付加されます。 その結果、実際の名前はA__( aの後に2つのアンダースコアが続く)で始まります。
  • 生成される名前がすでに処理される列名と重複している場合は、属性名に数字が追加されて一意の名前になります。 これは、英語以外の列名で特に発生する可能性があります。
次に例を示します。
Hive column name: @first-name

Changed name: A__first_name

この例では、先頭文字(@)は有効なAvro文字ではないため、アンダースコアに変換されます(名前の前にA_が付加されています)。 ハイフンはアンダースコアに置き換えられ、他の文字は変更されません。

英語以外の表の属性名は、ほとんどの場合、アンダースコアが多少置換され、名前が重複することがあります。 そのため、英語以外の属性名は次のようになります: A_______2