DataWorks は、Hive データソースからデータを読み取り、Hive データソースにデータを書き込むための Hive Reader と Hive Writer を提供しています。このトピックでは、Hive データソースとのデータ同期の機能について説明します。
背景情報
Hive は、大量の構造化ログを処理するために使用される Hadoop ベースのデータウェアハウスツールです。 Hive は構造化データファイルをテーブルにマッピングし、SQL 文を実行してテーブル内のデータをクエリできるようにします。 本質的に、Hive は SQL 文を解析するために使用されるエンジンです。 基礎となるレイヤーで MapReduce を使用してデータを分析し、Hadoop 分散ファイルシステム ( HDFS ) を使用して処理済みデータを保存します。 Hive は、Hibernate Query Language ( HQL ) 文を MapReduce プログラムに変換し、YARN 上でプログラムを実行します。
Hive Reader は Hive メタストアに接続して、Hive テーブルのメタデータを取得します。 Hive Reader は、HDFS ファイルに基づいて、または Hive Java Database Connectivity ( JDBC ) を使用してデータを読み取ることができます。
HDFS ファイルに基づいてデータを読み取る
Hive Reader は Hive メタストアに接続し、Hive テーブルに対応する HDFS ファイルのストレージパス、フォーマット、および列区切り文字を取得します。 次に、Hive Reader は HDFS ファイルからデータを読み取ります。
Hive JDBC を使用してデータを読み取る
Hive Reader は、Hive JDBC を使用して HiveServer2 に接続してデータを読み取ります。 Hive Reader では、WHERE 句を指定してデータをフィルタリングし、SQL 文を実行してデータを読み取ることができます。
Hive Writer は Hive メタストアに接続し、データを書き込む HDFS ファイルのストレージパス、フォーマット、および列区切り文字を取得します。 次に、Hive Writer は HDFS ファイルにデータを書き込み、Hive クライアントで LOAD DATA
文を実行して、JDBC を使用して HDFS ファイル内のデータを宛先の Hive テーブルにロードします。
Hive Writer の基礎となるロジックは、HDFS Writer のロジックと同じです。 Hive Writer のパラメータで HDFS Writer のパラメータを構成できます。 Data Integration は、構成されたパラメータを透過的に HDFS Writer に送信します。
サポートされている Hive のバージョン
Hive Reader および Hive Writer でサポートされている Hive のバージョン
0.8.0
0.8.1
0.9.0
0.10.0
0.11.0
0.12.0
0.13.0
0.13.1
0.14.0
1.0.0
1.0.1
1.1.0
1.1.1
1.2.0
1.2.1
1.2.2
2.0.0
2.0.1
2.1.0
2.1.1
2.2.0
2.3.0
2.3.1
2.3.2
2.3.3
2.3.4
2.3.5
2.3.6
2.3.7
3.0.0
3.1.0
3.1.1
3.1.2
3.1.3
0.8.1-cdh4.0.0
0.8.1-cdh4.0.1
0.9.0-cdh4.1.0
0.9.0-cdh4.1.1
0.9.0-cdh4.1.2
0.9.0-cdh4.1.3
0.9.0-cdh4.1.4
0.9.0-cdh4.1.5
0.10.0-cdh4.2.0
0.10.0-cdh4.2.1
0.10.0-cdh4.2.2
0.10.0-cdh4.3.0
0.10.0-cdh4.3.1
0.10.0-cdh4.3.2
0.10.0-cdh4.4.0
0.10.0-cdh4.5.0
0.10.0-cdh4.5.0.1
0.10.0-cdh4.5.0.2
0.10.0-cdh4.6.0
0.10.0-cdh4.7.0
0.10.0-cdh4.7.1
0.12.0-cdh5.0.0
0.12.0-cdh5.0.1
0.12.0-cdh5.0.2
0.12.0-cdh5.0.3
0.12.0-cdh5.0.4
0.12.0-cdh5.0.5
0.12.0-cdh5.0.6
0.12.0-cdh5.1.0
0.12.0-cdh5.1.2
0.12.0-cdh5.1.3
0.12.0-cdh5.1.4
0.12.0-cdh5.1.5
0.13.1-cdh5.2.0
0.13.1-cdh5.2.1
0.13.1-cdh5.2.2
0.13.1-cdh5.2.3
0.13.1-cdh5.2.4
0.13.1-cdh5.2.5
0.13.1-cdh5.2.6
0.13.1-cdh5.3.0
0.13.1-cdh5.3.1
0.13.1-cdh5.3.2
0.13.1-cdh5.3.3
0.13.1-cdh5.3.4
0.13.1-cdh5.3.5
0.13.1-cdh5.3.6
0.13.1-cdh5.3.8
0.13.1-cdh5.3.9
0.13.1-cdh5.3.10
1.1.0-cdh5.3.6
1.1.0-cdh5.4.0
1.1.0-cdh5.4.1
1.1.0-cdh5.4.2
1.1.0-cdh5.4.3
1.1.0-cdh5.4.4
1.1.0-cdh5.4.5
1.1.0-cdh5.4.7
1.1.0-cdh5.4.8
1.1.0-cdh5.4.9
1.1.0-cdh5.4.10
1.1.0-cdh5.4.11
1.1.0-cdh5.5.0
1.1.0-cdh5.5.1
1.1.0-cdh5.5.2
1.1.0-cdh5.5.4
1.1.0-cdh5.5.5
1.1.0-cdh5.5.6
1.1.0-cdh5.6.0
1.1.0-cdh5.6.1
1.1.0-cdh5.7.0
1.1.0-cdh5.7.1
1.1.0-cdh5.7.2
1.1.0-cdh5.7.3
1.1.0-cdh5.7.4
1.1.0-cdh5.7.5
1.1.0-cdh5.7.6
1.1.0-cdh5.8.0
1.1.0-cdh5.8.2
1.1.0-cdh5.8.3
1.1.0-cdh5.8.4
1.1.0-cdh5.8.5
1.1.0-cdh5.9.0
1.1.0-cdh5.9.1
1.1.0-cdh5.9.2
1.1.0-cdh5.9.3
1.1.0-cdh5.10.0
1.1.0-cdh5.10.1
1.1.0-cdh5.10.2
1.1.0-cdh5.11.0
1.1.0-cdh5.11.1
1.1.0-cdh5.11.2
1.1.0-cdh5.12.0
1.1.0-cdh5.12.1
1.1.0-cdh5.12.2
1.1.0-cdh5.13.0
1.1.0-cdh5.13.1
1.1.0-cdh5.13.2
1.1.0-cdh5.13.3
1.1.0-cdh5.14.0
1.1.0-cdh5.14.2
1.1.0-cdh5.14.4
1.1.0-cdh5.15.0
1.1.0-cdh5.16.0
1.1.0-cdh5.16.2
1.1.0-cdh5.16.99
2.1.1-cdh6.1.1
2.1.1-cdh6.2.0
2.1.1-cdh6.2.1
2.1.1-cdh6.3.0
2.1.1-cdh6.3.1
2.1.1-cdh6.3.2
2.1.1-cdh6.3.3
3.1.1-cdh7.1.1
制限
Hive データソースは、サーバーレスリソースグループ (推奨) と Data Integration 専用リソースグループ をサポートしています。
Hive Reader は、テキスト、光学式文字認識 ( ORC )、および Parquet 形式のファイルのみを読み取ることができます。
バッチ同期タスクを実行して Hive データソースにデータを同期すると、サーバー上に一時ファイルが生成されます。 バッチ同期タスクの実行が完了すると、一時ファイルは自動的に削除されます。 DataWorks は、生成される一時ファイルの数が、HDFS ディレクトリで許可されるファイル数の上限を超えないことを保証できません。 HDFS ディレクトリで許可される上限に注意し、生成される一時ファイルの数が上限を超えないようにする必要があります。 これにより、過剰な一時ファイルが原因で HDFS サービスが使用できなくなるのを防ぐことができます。
説明 サーバー上の dfs.namenode.fs-limits.max-directory-items パラメータの値を変更して、単一の HDFS ディレクトリに含めることができる非再帰ディレクトリまたはファイルの最大数を定義できます。 このパラメータの値の範囲は 1 ~ 6400000 です。 このパラメータのデフォルト値は 1048576 です。 生成される一時ファイルの数が、HDFS ディレクトリで許可されるファイル数の上限を超えないようにするには、dfs.namenode.fs-limits.max-directory-items パラメータに大きい値を指定するか、不要になったファイルをディレクトリから削除します。
Hive データソースは、Kerberos 認証 と SSL 認証
をサポートしています。 Hive データソースに対して ID 認証を実行する必要がない場合は、データソースを追加するときに、[認証方式] パラメータを [認証なし] に設定できます。
DataWorks の Kerberos 認証済み ID を使用してアクセスされる Hive データソースの HiveServer2 とメタストアの両方で Kerberos 認証が有効になっていて、認証に使用されるプリンシパルが異なる場合は、拡張パラメータに次の構成を追加する必要があります。
{
"hive.metastore.kerberos.principal": "your metastore principal" // メタストアプリンシパル
}
データ型マッピング
バッチデータ読み取り
カテゴリ | Hive データ型 |
文字列 | CHAR、VARCHAR、および STRING |
整数 | TINYINT、SMALLINT、INT、INTEGER、および BIGINT |
浮動小数点 | FLOAT、DOUBLE、および DECIMAL |
日付と時刻 | TIMESTAMP および DATE |
ブール値 | BOOLEAN |
データ同期前の準備
準備は、データソースの構成モードによって異なります。
Alibaba Cloud インスタンスモード
このモードを選択し、選択したインスタンスの Object Storage Service ( OSS ) テーブルを同期する場合は、[アクセス ID] を選択する必要があります。アクセス ID は、[alibaba Cloud アカウント]、[RAM ユーザー]、または [RAM ロール] です。 選択したアクセス ID に必要な OSS 権限があることを確認してください。 そうしないと、読み取りおよび書き込み権限が不十分なため、データ同期が失敗します。
重要 接続テストでは、データの読み取りおよび書き込み権限は検証されません。
接続文字列モード
DLF を使用した Hive メタデータ管理の構成
Data Lake Formation ( DLF ) を使用して Hive データソースのメタデータを管理する場合は、Hive データソースを構成するときに、Hive データソースの追加ダイアログボックスの [拡張パラメータ] フィールドに次の構成を追加する必要があります。
{"dlf.catalog.id" : "my_catalog_xxxx"}
my_catalog_xxxx
は、EMR の Hive に構成されている dlf.catalog.id
パラメータの値です。
高可用性構成
E-MapReduce ( EMR ) Hive クラスタで [高サービス可用性] がオンになっている場合は、Hive データソースを構成するときに、Hive データソースの追加ダイアログボックスの [拡張パラメータ] フィールドに高可用性機能に関連する項目を構成する必要があります。 次のコードは例を示しています。 構成項目の値を取得するには、次の操作を実行できます。 EMR コンソール にログオンします。 目的のクラスタを見つけて、[アクション] 列の [サービス] をクリックします。
{
// 高可用性に関連する拡張パラメータ。
"dfs.nameservices":"testDfs",
"dfs.ha.namenodes.testDfs":"namenode1,namenode2",
"dfs.namenode.rpc-address.testDfs.namenode1": "",
"dfs.namenode.rpc-address.testDfs.namenode2": "",
"dfs.client.failover.proxy.provider.testDfs":"org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider"
// OSS を基盤となるストレージとして使用する場合は、拡張パラメータで OSS に接続するために必要な次のパラメータを構成できます。 基盤となるストレージとして別のサービスを使用することもできます。
"fs.oss.accessKeyId":"<yourAccessKeyId>", // アクセスキー ID
"fs.oss.accessKeySecret":"<yourAccessKeySecret>", // アクセスキーシークレット
"fs.oss.endpoint":"oss-cn-<yourRegion>-internal.aliyuncs.com" // エンドポイント
}
OSS 外部テーブルの構成
OSS を基盤となるストレージとして使用する場合は、次の項目に注意する必要があります。
defaultFS パラメータの値は、oss:// で始まる必要があります。 たとえば、値は oss://bucketName
形式にすることができます。
Hive データソースをデータ同期タスクのソースとして使用し、OSS 外部テーブルからデータを同期する場合は、Hive データソースを構成するときに、Hive データソースの追加ダイアログボックスの [拡張パラメータ] フィールドに OSS に関連する項目も構成する必要があります。 次のコードは例を示しています。
{
"fs.oss.accessKeyId":"<yourAccessKeyId>", // アクセスキー ID
"fs.oss.accessKeySecret":"<yourAccessKeySecret>", // アクセスキーシークレット
"fs.oss.endpoint":"oss-cn-<yourRegion>-internal.aliyuncs.com" // エンドポイント
}
Hive データソースをデータ同期タスクのソースとして使用し、OSS-HDFS 外部テーブルからデータを同期する場合は、Hive データソースを構成するときに、Hive データソースの追加ダイアログボックスの [拡張パラメータ] フィールドに OSS-HDFS に関連する項目も構成する必要があります。 次のコードは例を示しています。
{
"fs.oss.accessKeyId":"<yourAccessKeyId>", // アクセスキー ID
"fs.oss.accessKeySecret":"<yourAccessKeySecret>", // アクセスキーシークレット
"fs.oss.endpoint":"cn-<yourRegion>.oss-dls.aliyuncs.com" // エンドポイント
}
CDH クラスタモード
Cloudera's Distribution Including Apache Hadoop ( CDH ) モードで Hive データソースを追加する場合は、最初に CDH クラスタを DataWorks に登録する必要があります。 詳細については、「CDH または CDP クラスタを DataWorks に登録する」をご参照ください。
データソースを追加する
特定のデータソースとの間でデータを同期するデータ同期タスクを構成する前に、データソースを DataWorks に追加する必要があります。 詳細については、「データソースを追加および管理する」をご参照ください。 パラメータ設定については、タスクの構成タブにある各パラメータのヒントをご覧ください。
以下では、さまざまな [認証方式] のパラメータ設定について説明します。
Kerberos 認証
パラメータ | 説明 |
キータブファイル | Kerberos 環境にサービスプリンシパルが登録された後に生成される .keytab ファイル。 |
CONF ファイル | .conf ファイルは、Kerberos クライアントとサーバーのさまざまな設定を定義するために使用される Kerberos 構成ファイルを指します。 メイン構成ファイル:
|
プリンシパル | ID エンティティ。ユーザーまたはサービスにすることができ、一意の名前と関連付けられた暗号鍵を持ちます。 |
SSL 認証
パラメータ | 説明 |
トラストストアファイル | SSL 認証が有効になった後に生成されるトラストストア証明書ファイル。 例: truststore.jks 。 |
トラストストアパスワード | トラストストア証明書ファイルの生成時に指定されたパスワード。 |
キーストアファイル | SSL 認証が有効になった後に生成されるキーストア証明書ファイル。 例: keystore.jks 。 |
キーストアパスワード | キーストア証明書ファイルの生成時に指定されたパスワード。 |
データ同期タスクを開発する
同期タスクの開始点と構成手順については、次の構成ガイドを参照してください。
付録: コードとパラメータ
コードエディタを使用してバッチ同期タスクを構成する
コードエディタを使用してバッチ同期タスクを構成する場合は、統合スクリプト形式の要件に基づいて、スクリプトに関連パラメータを構成する必要があります。 詳細については、「コードエディタを使用してバッチ同期タスクを構成する」をご参照ください。 以下では、コードエディタを使用してバッチ同期タスクを構成するときにデータソースに構成する必要があるパラメータについて説明します。
Hive Reader のコード
Hive Reader は、HDFS ファイルに基づいて、または Hive JDBC を使用してデータを読み取ることができます。
HDFS ファイルに基づいてデータを読み取る
{
"type": "job", // ジョブのタイプ
"steps": [ // ステップのリスト
{
"stepType": "hive", // ステップのタイプ
"parameter": { // パラメータ
"partition": "pt1=a,pt2=b,pt3=c", // パーティション
"datasource": "hive_not_ha_****", // データソースの名前
"column": [ // 列の名前
"id",
"pt2",
"pt1"
],
"readMode": "hdfs", // Hive Reader がデータを読み取るモード
"table": "part_table_1", // テーブルの名前
"hdfsUsername" : "hdfs", // HDFS ユーザー名
"hivePartitionColumn": [ // Hive パーティション列
{
"type": "string", // タイプ
"value": "最初のパーティションの名前" // 値
},
{
"type": "string", // タイプ
"value": "2 番目のパーティションの名前" // 値
}
]
},
"name": "Reader", // リーダーの名前
"category": "reader" // カテゴリ
},
{
"stepType": "hive", // ステップのタイプ
"parameter": { // パラメータ
},
"name": "Writer", // ライターの名前
"category": "writer" // カテゴリ
}
],
"version": "2.0", // バージョン
"order": { // 順序
"hops": [ // ホップのリスト
{
"from": "Reader", // 開始ステップ
"to": "Writer" // 終了ステップ
}
]
},
"setting": { // 設定
"errorLimit": { // エラー制限
"record": "" // ダーティデータレコードの最大許容数
},
"speed": { // 速度
"concurrent": 2, // 並列スレッドの最大数
"throttle": true,// スロットリングを有効にするかどうかを指定します。値が false の場合はスロットリングが無効になり、値が true の場合はスロットリングが有効になります。mbps パラメータは、throttle パラメータが true に設定されている場合にのみ有効になります。
"mbps":"12"// 最大伝送速度
}
}
}
Hive JDBC を使用してデータを読み取る
{
"type": "job", // ジョブのタイプ
"steps": [ // ステップのリスト
{
"stepType": "hive", // ステップのタイプ
"parameter": { // パラメータ
"querySql": "select id,name,age from part_table_1 where pt2='B'", // クエリ SQL
"datasource": "hive_not_ha_****", // データソースの名前
"column": [ // 列の名前
"id",
"name",
"age"
],
"where": "", // WHERE 句
"table": "part_table_1", // テーブルの名前
"readMode": "jdbc" // Hive Reader がデータを読み取るモード
},
"name": "Reader", // リーダーの名前
"category": "reader" // カテゴリ
},
{
"stepType": "hive", // ステップのタイプ
"parameter": { // パラメータ
},
"name": "Writer", // ライターの名前
"category": "writer" // カテゴリ
}
],
"version": "2.0", // バージョン
"order": { // 順序
"hops": [ // ホップのリスト
{
"from": "Reader", // 開始ステップ
"to": "Writer" // 終了ステップ
}
]
},
"setting": { // 設定
"errorLimit": { // エラー制限
"record": "" // ダーティデータレコードの最大許容数
},
"speed": { // 速度
"concurrent": 2, // 並列スレッドの最大数
"throttle": true,// スロットリングを有効にするかどうかを指定します。値が false の場合はスロットリングが無効になり、値が true の場合はスロットリングが有効になります。mbps パラメータは、throttle パラメータが true に設定されている場合にのみ有効になります。
"mbps":"12"// 最大伝送速度
}
}
}
Hive Reader のコードのパラメータ
パラメータ | 説明 | 必須 | デフォルト値 |
datasource | データソースの名前。 追加されたデータソースの名前と同じである必要があります。 | はい | デフォルト値なし |
table | データを読み取るテーブルの名前。 | はい | デフォルト値なし |
readMode | Hive Reader がデータを読み取るモード。
説明 Hive Reader が Hive JDBC を使用してデータを読み取る場合は、WHERE 句を指定してデータをフィルタリングできます。 この場合、Hive データベースの基礎となるレイヤーで MapReduce タスクが生成される可能性があり、データ読み取り効率が低下します。 Hive Reader が HDFS ファイルに基づいてデータを読み取る場合は、WHERE 句を指定してデータをフィルタリングすることはできません。 この場合、Hive Reader は Hive テーブルに対応する HDFS ファイルから直接データを読み取るため、データ読み取り効率が向上します。 Hive Reader が HDFS ファイルに基づいてデータを読み取る場合、ビューのデータを読み取ることはできません。
| いいえ | デフォルト値なし |
partition | データを読み取るパーティション。 Hive Reader が Hive JDBC を使用してデータを読み取る場合、このパラメータは必須ではありません。 データを読み取る Hive テーブルがパーティションテーブルの場合は、このパラメータが必須です。 このパラメータを構成すると、Hive Reader はこのパラメータで指定されたパーティションからデータを読み取ります。 単一レベルのパーティションの場合は、ワイルドカードとしてアスタリスク ( * ) を使用してこのパラメータを構成できます。 多重レベルのパーティションの場合は、ワイルドカードを使用してこのパラメータを構成することはできません。 データを読み取る Hive テーブルが非パーティションテーブルの場合は、このパラメータは必須ではありません。
| いいえ | デフォルト値なし |
column | データを読み取る列の名前。 "column": ["id", "name"] のように、名前をコンマ ( , ) で区切ります。 | はい | デフォルト値なし |
querySql | Hive Reader が Hive JDBC を使用してデータを読み取る場合は、Hive Reader の querySql パラメータを構成してデータを読み取ることができます。 | いいえ | デフォルト値なし |
where | Hive Reader が Hive JDBC を使用してデータを読み取る場合は、Hive Reader がデータをフィルタリングするための WHERE 句を指定できます。 | いいえ | デフォルト値なし |
hdfsUsername | Hive Reader が Hive テーブルからデータを読み取るときに使用されるアカウント。 デフォルトでは、Hive Reader が HDFS ファイルに基づいてデータを読み取る場合、データソースページで Hive データソース を DataWorks に追加するときに構成したアカウントが、HDFS ファイルからのデータの読み取りに使用されます。 データソースページで Hive データソースを追加するときに HIVE ログインパラメータを匿名に設定すると、Hive Reader が HDFS ファイルからデータを読み取るときに管理者アカウントが自動的に使用されます。 データ同期中に Hive Reader にデータを読み取る権限がない場合は、コードエディタで関連する同期タスクの hdfsUsername パラメータを構成する必要があります。 | いいえ | デフォルト値なし |
hivePartitionColumn | パーティションフィールドの値を宛先に同期する場合は、コードエディタで関連する同期タスクの hivePartitionColumn パラメータを構成できます。 | いいえ | デフォルト値なし |
Hive Writer のコード
{
"type": "job", // ジョブのタイプ
"steps": [ // ステップのリスト
{
"stepType": "hive", // ステップのタイプ
"parameter": { // パラメータ
},
"name": "Reader", // リーダーの名前
"category": "reader" // カテゴリ
},
{
"stepType": "hive", // ステップのタイプ
"parameter": { // パラメータ
"partition": "year=a,month=b,day=c", // パーティション
"datasource": "hive_ha_shanghai", // データソースの名前
"table": "partitiontable2", // テーブルの名前
"column": [ // 列の名前
"id",
"name",
"age"
],
"writeMode": "append" ,// 書き込みモード
"hdfsUsername" : "hdfs" // HDFS ユーザー名
},
"name": "Writer", // ライターの名前
"category": "writer" // カテゴリ
}
],
"version": "2.0", // バージョン
"order": { // 順序
"hops": [ // ホップのリスト
{
"from": "Reader", // 開始ステップ
"to": "Writer" // 終了ステップ
}
]
},
"setting": { // 設定
"errorLimit": { // エラー制限
"record": "" // ダーティデータレコードの最大許容数
},
"speed": { // 速度
"throttle": true,// スロットリングを有効にするかどうかを指定します。値が false の場合はスロットリングが無効になり、値が true の場合はスロットリングが有効になります。mbps パラメータは、throttle パラメータが true に設定されている場合にのみ有効になります。
"concurrent":2, // 並列スレッドの最大数
"mbps":"12"// 最大伝送速度
}
}
}
Hive Writer のコードのパラメータ
パラメータ | 説明 | 必須 | デフォルト値 |
datasource | データソースの名前。 追加されたデータソースの名前と同じである必要があります。 | はい | デフォルト値なし |
column | データを書き込む列の名前。 "column": ["id", "name"] のように、名前をコンマ ( , ) で区切ります。 | はい | デフォルト値なし |
table | データを書き込む Hive テーブルの名前。 | はい | デフォルト値なし |
partition | データを書き込むパーティション。 | いいえ | デフォルト値なし |
writeMode | Hive Writer が Hive テーブルにデータをロードするモード。 データが HDFS ファイルに書き込まれた後、Hive Writer は LOAD DATA INPATH (overwrite) INTO TABLE 文を実行して、Hive テーブルにデータをロードします。 このパラメータは、Hive Writer が HDFS ファイルから Hive テーブルにデータをロードするモードを指定します。 有効な値: truncate: Hive Writer は、Hive テーブルにデータをロードする前に既存のデータを削除します。 append: Hive Writer は既存のデータを保持し、Hive テーブルにデータを追加します。 その他: Hive Writer は HDFS ファイルにデータを書き込みますが、Hive テーブルにはロードしません。
説明 このパラメータを構成する前に、パラメータに指定される値がビジネスに影響を与えないことを確認してください。 データが誤って削除されないように、宛先ディレクトリとこのパラメータの値に注意してください。 このパラメータと hiveConfig パラメータはペアで使用す必要があります。 | はい | デフォルト値なし |
hiveConfig | Hive の拡張パラメータ。 拡張パラメータとして、hiveCommand、jdbcUrl、username、password の各パラメータを構成できます。 hiveCommand: Hive クライアントの完全なパス。 hive -e コマンドを実行すると、LOAD DATA INPATH 文が実行され、writeMode パラメータで指定されたモードでデータがロードされます。 hiveCommand パラメータで指定されたクライアントは、Hive のアクセス情報を提供します。 jdbcUrl、username、password: JDBC を使用して Hive に接続するために必要な情報。 Hive Writer が JDBC を使用して Hive に接続すると、LOAD DATA INPATH 文が実行され、writeMode パラメータで指定されたモードでデータがロードされます。 "hiveConfig": { // Hive 構成
"hiveCommand": "", // Hive コマンド
"jdbcUrl": "", // JDBC URL
"username": "", // ユーザー名
"password": "" // パスワード
}
Hive Writer は HDFS クライアントを使用して HDFS ファイルにデータを書き込みます。 このパラメータを使用して、HDFS クライアントの拡張設定を構成できます。
| はい | デフォルト値なし |
hdfsUsername | Hive Writer が Hive テーブルにデータを書き込むときに使用されるアカウント。 デフォルトでは、Hive Writer が Hive テーブルにデータを書き込むとき、データソースページで Hive データソース を DataWorks に追加するときに構成したアカウントが使用されます。 データソースページで Hive データソースを追加するときに HIVE ログインパラメータを匿名に設定すると、Hive Writer が Hive テーブルにデータを書き込むときに管理者アカウントが自動的に使用されます。 データ同期中に Hive Writer にデータを書き込む権限がない場合は、コードエディタで関連するデータ同期タスクの hdfsUsername パラメータを構成する必要があります。 | いいえ | デフォルト値なし |
enableColumnExchange | 列順序の交換を有効にするかどうかを指定します。 このパラメータを true に設定すると、列順序の交換が有効になります。 | いいえ | デフォルト値なし |
nullFormat | ヌルポインタを表す文字列。 このパラメータを使用して、ヌルポインタを表す文字列を定義できます。 たとえば、このパラメータを null に設定すると、Data Integration は null をヌルポインタと見なします。
説明 文字列 NULL はヌルポインタとは異なります。 違いに注意してください。 | いいえ | デフォルト値なし |