移行のために 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
次のコマンドを実行して、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 の URLCLOUDERA-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 から抽出したメタデータを使用して、これらのメタデータ ファイルで次のことができます。