データ処理では、Hive表から多数のレコードをサンプリング(処理)します。
サンプリングされたレコードは、データ・セット内のレコードで構成されています。
データ処理の検出フェーズでは、Dgraphの属性スキーマを提案するためにDataSetメタデータを検出します。
どちらの場合も、文字列の平均の長さとは、その列の値の文字列の平均の長さを示します。
Hive表をサンプリングする場合、列ごとにEndeca属性が作成されます。Endeca属性のデータ型は、データ処理によるHive列の値の解釈方法によって決まります。たとえば、Hive列が文字列型であるが、ブール値のみが含まれる場合、Endeca属性はmdex:boolean型になります。Endeca属性のデータ型を決定するデータ処理計算では、NULL値は基本的に無視されます。
データ処理では、Avroファイルを使用して、(Dgraph HDFSエージェントを介して) Dgraphに収集する必要があるデータを格納します。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のような形になる場合があります。