新規データ・セットを作成する場合、データ処理ワークフローがHive表から処理するレコードの最大数を指定できます。
bdd.sampleSize
パラメータ。
maxRecordsForNewDataSet
構成パラメータまたは--maxRecordsフラグ。
これらのパラメータの設定がHive表のレコード数より大きい場合は、すべてのHiveレコードが処理されます。 この場合、データ・セットは完全なデータ・セットとみなされます。
属性の検出
データ処理検出フェーズでは、Dgraph属性スキーマを提示するためにデータ・セット・メタデータを検出します。 Dgraphスキーマの詳細は、「Dgraphデータ・モデル」を参照してください。
文字列属性のレコードおよび値の検索設定
bdd.conf
ファイルの2つのプロパティの設定に従って構成されます:
RECORD_SEARCH_THRESHOLD
プロパティ値より大きい場合、属性はレコード検索可能として構成されます。
VALUE_SEARCH_THRESHOLD
プロパティ値以下である場合、属性は値検索可能として構成されます。
どちらの場合も、平均文字列長は、その列の値の文字列の平均長を表します。
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.で導入されました。
Hive column name: @first-name Changed name: A__first_name
この例では、先頭文字(@)は有効なAvro文字ではないため、アンダースコアに変換されます(名前の前にA_が付加されています)。 ハイフンはアンダースコアに置き換えられ、他の文字は変更されません。
英語以外の表の属性名は、ほとんどの場合、アンダースコアが多少置換され、名前が重複することがあります。 そのため、英語以外の属性名は次のようになります: A_______2