変換スクリプトをプロジェクト・データ・セットまたはソースHive表(「変換」内で新しいデータ・セットを作成する場合)に適用した場合、Big Data Discoveryでデータ処理を行うと、ほとんどのHiveデータ型は対応するDgraphデータ型に変換されます。ただし、この結果、元のデータ型の一部が変更または省略される可能性があります。このトピックでは、これらのデータ型変換について詳細に説明します。
Hive表内の複合型の詳細は、https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Types#LanguageManualTypes-ComplexTypesを参照してください。ソースHive表内に存在する型は、使用するHadoop環境によって異なります。
Big Data Discoveryでサポートされているデータ型の詳細は、データ処理ガイドを参照してください。
次の表は、様々なHive表の型が変換スクリプトによってどのような影響を受けるかについて説明しています。この表は、ソースHive表に含めることができるデータ型をリストし、これらの変換先のDgraphでのデータ型(mdex:<type>)を示しています。
| ソースHive表のデータ型(変換スクリプトの適用前) | Dgraphのデータ型 | ターゲットHive表のデータ型(変換スクリプトの適用後) |
|---|---|---|
| BOOLEAN | mdex:boolean | BOOLEAN |
| TINYINT | mdex:long | BIGINT: この型は集中時にLongに変換されます。 |
| SMALLINT | mdex:long | BIGINT: この型は集中時にLongに変換されます。 |
| INT | mdex:long | BIGINT: この型は集中時にLongに変換されます。 |
| BIGINT | mdex:long | BIGINT |
| FLOAT | mdex:double | DOUBLE |
| DOUBLE | mdex:double | DOUBLE |
| DECIMAL | mdex:double | DOUBLE: 精度が低下する原因となる可能性があります。 |
| DATE | mdex:dateTime | TIMESTAMP |
| TIMESTAMP | mdex:dateTime | TIMESTAMP |
| STRING | 検出されたmdex:<type> | STRING (または他のプリミティブ型) |
| CHAR | 検出されたmdex:<type> | STRING (または他のプリミティブ型) |
| VARCHAR | 検出されたmdex:<type> | STRING (または他のプリミティブ型) |
| ARRAY (複合) | ARRAY型の複数割当。たとえば、小数のARRAYの場合、mdex:doubleの複数割当属性になります。 | Dgraph型から取得された型のARRAY (複合) |
| STRUCT (複合) | なし | この書式の複数のフィールド: struct_(structName)_(fieldName) |
| BINARY | なし | サポート対象外: フィールドまたは列全体が省略されます。 |
| MAP (複合) | なし | サポート対象外: フィールドまたは列全体が省略されます。 |
| UNION (複合) | なし | サポート対象外: フィールドまたは列全体が省略されます。 |