移行のために 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 ツールのインストール手順は次のとおりです。
dwh-migration-dumperツールを実行するマシンで、dwh-migration-dumperツールの GitHub リポジトリから zip ファイルをダウンロードします。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 ファイルが同じリリース バージョンからダウンロードされ、同じディレクトリに配置されていることを確認します。ZIP ファイルを抽出します。抽出ツールバイナリは、zip ファイルを抽出して作成されたフォルダの
/binサブディレクトリにあります。PATH環境変数を更新して、抽出ツールのインストール パスを含めます。
移行用のメタデータを抽出する
データソースのメタデータを抽出する方法を確認するには、次のいずれかのオプションを選択してください。
Apache Hive
Apache Hive セクションのデータ ウェアハウスからメタデータとクエリログを抽出するの手順に沿って、Apache Hive メタデータを抽出します。その後、移行ファイルを含む Cloud Storage バケットにメタデータをアップロードできます。
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 の URLCLOUDERA-USER: Cloudera ユーザーのユーザー名CLOUDERA-PASSWORD: Cloudera ユーザーのパスワードMIGRATION-BUCKET: 移行ファイルの保存に使用している Cloud Storage バケット。APPLICATION-TYPES: (省略可)Hadoop YARN の既存の全アプリケーション タイプのリスト。例:SPARK, MAPREDUCEPAGE-SIZE: (省略可)Hadoop YARN API などのサードパーティ サービスから取得するデータ量を指定します。デフォルト値は1000であり、リクエストあたり 1, 000 エンティティであることを表します。
このコマンドは、Cloudera から MIGRATION-BUCKET ディレクトリの dwh-migration-cloudera.zip というファイルにメタデータを抽出します。
Apache Hive クエリログ
Apache Hive セクションの hadoop-migration-assessment ロギングフックを使用してクエリログを抽出するの手順に沿って、Apache Hive クエリログを抽出します。その後、移行ファイルを含む Cloud Storage バケットにログをアップロードできます。
次のステップ
Hadoop から抽出したメタデータを使用して、これらのメタデータ ファイルで次のことができます。