私たちはHue 3.11 リリース での HueとAmazon S3 (Amazon Simple Storage Service) の統合の正式な紹介ができることに非常に興奮しています。Hueは 設定されたS3アカウントに読み書きするようにセットアップでき、ユーザはHDFSに中間データとして移動/コピーせず、S3に直接問い合わせを行い、データをS3に保存できます。
HueにおけるS3の設定
Hueのファイルブラウザは、HDFSに加えて、ユーザーがS3アカウントでデータを探索、管理、アップロードできるようになりました。
HueにS3のアカウントを追加するには、アクセスキーIDとシークレットアクセスキーを含め、有効なS3の資格情報を使用してHueを設定する必要があります。 http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSGettingStartedGuide/ AWSCredentials.html
これらのキーは、Hueによって読み込まれる、実際のアクセスキーと秘密鍵を標準出力に出力するスクリプト内にセキュアに保存できます。(これはどのようにHueがパスワードのスクリプトを読み込むかに似ています。スクリプトファイルを使用するためには、hue.ini
設定ファイルに次のセクションを追加します:
[aws]
[[aws_accounts]]
[[[default]]]
access_key_id_script=/path/to/access_key_script
secret_access_key_script= /path/to/secret_key_script
allow_environment_credentials=false
region=us-east-1
あるいは(本番環境やセキュア環境では推奨しませんが)、access_key_id
とsecret_access_key
を、あなたのキーをプレーンテキストで値を設定できます:
[aws]
[[aws_accounts]]
[[[default]]]
access_key_id=s3accesskeyid
secret_access_key=s3secretaccesskey
allow_environment_credentials=false
region=us-east-1
このリージョンは、S3アカウントに対応したAWSのリージョンに設定する必要があります。 デフォルトでは、リージョンは ‘us-east-1’に設定されます
HadoopとS3の統合
S3の資格情報でHueを設定することに加えて、S3から読み出してS3に保存するには、HadoopもS3認証資格情報で設定する必要があります。 これはcore-site.xml
ファイルに次のプロパティを設定することによって行うことができます:
<property>
<name>fs.s3a.awsAccessKeyId</name>
<value>AWS access key ID</value>
</property/>
<property>
<name>fs.s3a.awsSecretAccessKey</name>
<value>AWS secret key</value>
</property/>
詳細についてはhttp://wiki.apache.org/hadoop/AmazonS3を参照してください
navigation:HueとHadoopを設定し、Hueを再起動して設定ページを確認することで、HueがS3アカウントに正常に接続できることが確認できます。また、メインナビゲーションのファイルブラウザメニューにドロップダウンオプションが追加されていることがわかるでしょう
HueのファイルブラウザでS3を探索する
HueがS3に接続するように構成されると、S3のルート(root)をクリックすることでアカウント内のアクセス可能なすべてのバケットを表示できます。
ユーザーは、このビューから新しいバケットを作成したり、既存のバケットを削除することもできます。
注:一意のバケット名
❗️ S3バケット名は、 _すべてのリージョン_で一意である必要があります 。予約した名前でバケットを作成または名前を変更しようとすると、Hueがエラーになります。
ただし、ほとんどの場合、ユーザーはバケット内のキーを使用して直接作業します。バケット・ビューから、ユーザーはバケットをクリックしてそのコンテンツを展開することができます。 ここから、既存のキー(ディレクトリとファイルの両方)を表示したり、既存のディレクトリやファイルを作成、名前変更、移動、コピー、または削除することができます。さらに、S3にファイルを直接アップロードすることもできます
S3から直接Hiveテーブルを作成する
HueのMetastore Import Data Wizardは、S3のデータディレクトリから外部のHiveテーブルを直接作成できます。これは、HDFSまたはHive Warehouseにデータを移動またはコピーすることなく、HiveやImpalaからSQLを介してS3のデータを照会することができます。
S3から外部のHiveテーブルを作成するには、Metastoreアプリケーションに移動し、目的のデータベースを選択し、右上の「ファイルから新しいテーブルを作成する」アイコンをクリックします。
テーブル名とオプションの説明を入力し、 “入力ファイルまたはディレクトリ”ファイルピッカーでS3Aファイルシステムを選択し、目的のデータファイルを含む親ディレクトリに移動し、 “このフォルダを選択”ボタンをクリックします。[Load Data (データの読み込み)]ドロップダウンでは、このテーブルが外部データディレクトリを直接参照することを示す[Create External Table(外部テーブルの作成)]オプションが自動的に選択されます。
入力ファイルの区切り文字と列定義オプションを選択し、最後にHiveテーブルを作成する準備が整ったら「Create Table(テーブルの作成)」をクリックします。作成すると、新しく作成されたテーブルの詳細がMetastoreに表示されます
クエリ結果をS3に保存
S3データから作成された外部Hiveテーブルを作成したので、HiveまたはImpalaエディタにジャンプしてS3からシームレスに直接データのクエリを開始できます。これらのクエリはS3、HDFSのいずれか、またはその両方が背後にあるテーブルとオブジェクトとを結合できます。クエリ結果はS3に簡単に保存できます。
ヒント:ImpalaとS3
? ImpalaとS3とのさらなる高度なユースケースはこちらをご覧ください:Analytics and BI on Amazon S3 with Apache Impala (Incubating)
さて、次は
追加のファイルシステムとして、Hue 3.11でのS3に対するシームレスなサポートは、クラウドにおけるデータの柔軟性と移植性を向上させる長期的なロードマップの始まりに過ぎません。HDFS、S3、および追加のファイルシステム間の緊密な統合を実現するオブジェクトストアから直接のファイル転送、実行、およびクエリのスケジュールなどの将来の拡張機能にご期待ください。
As always, if you have any questions, feel free to comment here or on the hue-user list or @gethue!いつものように、コメントとフィードバックは hue-user メーリングリストや@gethueまでお気軽に!