目次

Search

  1. はじめに
  2. Informatica Data Engineering Integrationについて
  3. マッピング
  4. マッピングの最適化
  5. ソース
  6. ターゲット
  7. トランスフォーメーション
  8. Pythonトランスフォーメーション
  9. データプレビュー
  10. クラスタワークフロー
  11. プロファイル
  12. 監視
  13. 階層データ処理
  14. 階層データ処理設定
  15. スキーマが変更された階層データの処理
  16. インテリジェント構造モデル
  17. ブロックチェーン
  18. ステートフルコンピューティング
  19. 付録 A: 接続リファレンス
  20. 付録 B: データ型リファレンス
  21. 付録 C: 関数リファレンス

split-by

split-by

split-by引数は、Sqoopが作業単位を分割する際に基準とするカラムを定義します。
以下の構文を使用します。
--split-by <column_name>
split-by引数を設定して、パフォーマンスを向上させることができます。プライマリキーの範囲の上限と下限の間で値の均等分布がない場合、データの均等分布がある別のカラムを指定して作業単位を分割するように、split-by引数を設定できます。
split-byカラムを定義しない場合、Sqoopでは次の条件に基づいて作業単位が分割されます。
  • データオブジェクトに単一プライマリキーが含まれる場合、Sqoopはプライマリキーをsplit-byカラムとして使用します。
  • データオブジェクトにコンポジットプライマリキーが含まれる場合、Sqoopのデフォルトは、split-by引数を使用せずにコンポジットプライマリキーを処理するSqoopの動作になります。詳細については、Sqoopのマニュアルを参照してください。
  • データオブジェクトにプライマリキーがない場合、m引数の値とnum-mappers引数は、デフォルトで1になります。

split-by引数のルールとガイドライン

split-by引数を設定する場合は、次の制限事項を考慮します。
  • split-by引数を設定しており、split-byカラムにNULL値が含まれる場合、SqoopはNULL値が含まれる行をインポートしません。ただし、マッピングは正しく実行され、YARNログにエラーは記録されません。
  • split-by引数を設定しており、split-byカラムに特殊文字が含まれる場合、Sqoopのインポートプロセスは失敗します。
  • split-by引数は、次のシナリオで必要になります。
    • Cloudera Connector Powered by TeradataまたはHortonworks Connector for Teradataを使用し、Teradataテーブルにプライマリキーがない場合。
    • Sqoopソースからデータをインポートする際に、デフォルトクエリをオーバーライドするカスタムクエリを作成した場合。