移行のために Apache Hive からメタデータを抽出する

このドキュメントでは、dwh-migration-dumper ツールを使用して、Apache Hive のデータまたは権限の移行を実行する前に必要なメタデータを抽出する方法について説明します。

このドキュメントでは、次のデータソースからのメタデータの抽出について説明します。

  • Apache Hive
  • Apache Hadoop 分散ファイル システム(HDFS)
  • Apache Ranger
  • Cloudera Manager
  • Apache Hive クエリログ

始める前に

dwh-migration-dumper ツールを使用するには、まず次の操作を行います。

Java をインストールする

dwh-migration-dumper ツールを実行するサーバーには、Java 8 以降をインストールしておく必要があります。これがインストールされていない場合は、Java ダウンロード ページから Java をダウンロードしてインストールしてください。

必要な権限

dwh-migration-dumper ツールをソースシステムに接続するために指定するユーザー アカウントには、そのシステムからメタデータを読み取る権限を付与する必要があります。このアカウントに、プラットフォームで使用できるメタデータ リソースをクエリするための適切なロールのメンバーシップが付与されていることを確認してください。たとえば、INFORMATION_SCHEMA は複数のプラットフォームに共通するメタデータ リソースです。

dwh-migration-dumper ツールをインストールする

dwh-migration-dumper ツールのインストール手順は次のとおりです。

  1. dwh-migration-dumper ツールを実行するマシンで、dwh-migration-dumper ツールの GitHub リポジトリから zip ファイルをダウンロードします。
  2. dwh-migration-dumper ツールの zip ファイルを検証するには、SHA256SUMS.txt ファイルをダウンロードして次のコマンドを実行します。

    Bash

    sha256sum --check SHA256SUMS.txt

    検証が失敗した場合は、トラブルシューティングをご覧ください。

    Windows PowerShell

    (Get-FileHash RELEASE_ZIP_FILENAME).Hash -eq ((Get-Content SHA256SUMS.txt) -Split " ")[0]

    RELEASE_ZIP_FILENAME は、dwh-migration-dumper コマンドライン抽出ツールのリリースのダウンロード済み zip ファイル名に置き換えます(例: dwh-migration-tools-v1.0.52.zip)。

    True という結果は、チェックサムの検証が成功したことを示します。

    False の結果は、検証エラーを示します。チェックサム ファイルと ZIP ファイルが同じリリース バージョンからダウンロードされ、同じディレクトリに配置されていることを確認します。

  3. ZIP ファイルを抽出します。抽出ツールバイナリは、zip ファイルを抽出して作成されたフォルダの /bin サブディレクトリにあります。

  4. PATH 環境変数を更新して、抽出ツールのインストール パスを含めます。

移行用のメタデータを抽出する

データソースのメタデータを抽出する方法を確認するには、次のいずれかのオプションを選択してください。

Apache Hive

次のコマンドを実行して、dwh-migration-dumper ツールを使用して Apache Hive からメタデータを抽出します。

dwh-migration-dumper \
  --connector hiveql \
  --host HIVE-HOST \
  --port HIVE-PORT \
  --output gs://MIGRATION-BUCKET/hive-dumper-output.zip \
  --assessment \

次のように置き換えます。

  • HIVE-HOST: Apache Hive インスタンスのホスト名
  • HIVE-PORT: Apache Hive インスタンスのポート番号。デフォルトの 9083 ポートを使用している場合は、この引数を省略できます。
  • MIGRATION-BUCKET: 移行ファイルの保存に使用している Cloud Storage バケット。

このコマンドは、Apache Hive から MIGRATION-BUCKET ディレクトリの hive-dumper-output.zip という名前のファイルにメタデータを抽出します。

HDFS

次のコマンドを実行して、dwh-migration-dumper ツールを使用して HDFS からメタデータを抽出します。

dwh-migration-dumper \
  --connector hdfs \
  --host HDFS-HOST \
  --port HDFS-PORT \
  --output gs://MIGRATION-BUCKET/hdfs-dumper-output.zip \
  --assessment \

次のように置き換えます。

  • HDFS-HOST: HDFS NameNode のホスト名。
  • HDFS-PORT: HDFS NameNode のポート番号。デフォルトの 8020 ポートを使用している場合は、この引数を省略できます。
  • MIGRATION-BUCKET: 移行ファイルの保存に使用している Cloud Storage バケット。

このコマンドは、HDFS から MIGRATION-BUCKET ディレクトリの hdfs-dumper-output.zip という名前のファイルにメタデータを抽出します。

HDFS からメタデータを抽出する場合には、いくつかの既知の制限があります。

  • このコネクタの一部のタスクは省略可能であり、失敗すると出力にフルスタック トレードが記録されます。必要なタスクが成功し、hdfs-dumper-output.zip が生成されたら、HDFS の移行を続行できます。
  • 構成されたスレッドプール サイズが過剰に大きいと、抽出プロセスが失敗する、または予想よりも実行速度が低速になる可能性があります。このような問題が発生した場合は、コマンドライン引数 --thread-pool-size を使用してスレッド プールサイズを縮小することをおすすめします。

Apache Ranger

次のコマンドを実行して、dwh-migration-dumper ツールを使用して Apache Ranger からメタデータを抽出します。

dwh-migration-dumper \
  --connector ranger \
  --host RANGER-HOST \
  --port 6080 \
  --user RANGER-USER \
  --password RANGER-PASSWORD \
  --ranger-scheme RANGER-SCHEME \
  --output gs://MIGRATION-BUCKET/ranger-dumper-output.zip \
  --assessment \

次のように置き換えます。

  • RANGER-HOST: Apache Ranger インスタンスのホスト名
  • RANGER-USER: Apache Ranger ユーザーのユーザー名
  • RANGER-PASSWORD: Apache Ranger ユーザーのパスワード
  • RANGER-SCHEME: Apache Ranger が http または https を使用しているかどうかを指定します。デフォルト値は http です。
  • MIGRATION-BUCKET: 移行ファイルの保存に使用している Cloud Storage バケット。

次のオプションのフラグを指定することもできます。

  • --kerberos-auth-for-hadoop: Apache Ranger が基本認証ではなく Kerberos で保護されている場合は、--user--password を置き換えます。このフラグを使用するには、dwh-migration-dumper ツールの前に kinit コマンドを実行する必要があります。
  • --ranger-disable-tls-validation: API で使用される https 証明書が自己署名証明書の場合は、このフラグを指定します。たとえば、Cloudera を使用する場合です。

このコマンドは、Apache Ranger から MIGRATION-BUCKET ディレクトリの ranger-dumper-output.zip という名前のファイルにメタデータを抽出します。

Cloudera

次のコマンドを実行して、dwh-migration-dumper ツールを使用して Cloudera からメタデータを抽出します。

dwh-migration-dumper \
  --connector cloudera-manager \
  --url CLOUDERA-URL \
  --user CLOUDERA-USER \
  --password CLOUDERA-PASSWORD \
  --output gs://MIGRATION-BUCKET/cloudera-dumper-output.zip \
  --yarn-application-types APPLICATION-TYPES \
  --pagination-page-size PAGE-SIZE \
  --assessment \

次のように置き換えます。

  • CLOUDERA-URL: Cloudera Manager の URL
  • CLOUDERA-USER: Cloudera ユーザーのユーザー名
  • CLOUDERA-PASSWORD: Cloudera ユーザーのパスワード
  • MIGRATION-BUCKET: 移行ファイルの保存に使用している Cloud Storage バケット。
  • APPLICATION-TYPES: (省略可)Hadoop YARN の既存の全アプリケーション タイプのリスト。例: SPARK, MAPREDUCE
  • PAGE-SIZE: (省略可)Hadoop YARN API などのサードパーティ サービスから取得するデータ量を指定します。デフォルト値は 1000 であり、リクエストあたり 1, 000 エンティティであることを表します。

このコマンドは、Cloudera から MIGRATION-BUCKET ディレクトリの dwh-migration-cloudera.zip というファイルにメタデータを抽出します。

Apache Hive クエリログ

Apache Hive セクションのデータ ウェアハウスからメタデータとクエリログを抽出するの手順に沿って、Apache Hive クエリログを抽出します。その後、移行ファイルを含む Cloud Storage バケットにログをアップロードできます。

次のステップ

Hadoop から抽出したメタデータを使用して、これらのメタデータ ファイルで次のことができます。