web-dev-qa-db-ja.com

hadoopでのhcatalogの使用とは何ですか?

私はhadoopを初めて使用しますが、HCatalogはHadoopのテーブルおよびストレージ管理レイヤーであることを知っています。しかし、それが正確にどのように機能し、どのように使用するか。簡単な例を挙げてください。

21
Vijay_Shinde

HCatalogは、Hive SerDe(serializer-deserializer)を書き込むことができる任意の形式のファイルの読み取りと書き込みをサポートしています。デフォルトでは、HCatalogはRCFile、CSV、JSON、およびSequenceFile形式をサポートしています。カスタム形式を使用するには、InputFormat、OutputFormat、およびSerDeを提供する必要があります。

HCatalogは、Hiveメタストアの上に構築され、Hive DDLのコンポーネントを組み込みます。 HCatalogは、PigおよびMapReduceの読み取りおよび書き込みインターフェイスを提供し、Hiveのコマンドラインインターフェイスを使用して、データ定義およびメタデータ探索コマンドを発行します。

また、RESTインターフェイスを提供して、「ツールの作成」や「テーブルの説明」などの外部ツールがHive DDL(データ定義言語)操作にアクセスできるようにします。

HCatalogは、データのリレーショナルビューを提供します。データはテーブルに保存され、これらのテーブルはデータベースに配置できます。テーブルは、1つ以上のキーでパーティション化することもできます。キー(またはキーのセット)の特定の値に対して、その値(または値のセット)を持つすべての行を含む1つのパーティションがあります。


編集:ほとんどのテキストは https://cwiki.Apache.org/confluence/display/Hive/HCatalogからのものです+ UsingHCat

7
Mayank Agarwal

つまり、HCatalogは他のmapreduceツールに対してHiveメタデータを開きます。すべてのmapreduceツールには、HDFSデータに関する独自の概念があります(例PigはHDFSデータをファイルのセットとして認識し、Hiveはそれをテーブルとして認識します)。テーブルベースの抽象化により、HCatalogがサポートするmapreduceツールは、データの保存場所、フォーマットおよび保存場所(HBaseまたはHDFS)を気にする必要がありません。

Hcatalogに沿ってwebhcatを構成する場合、RESTfulな方法でジョブを送信するWebHcatの機能を取得します。

41

HCATALOGの使用方法の非常に基本的な例を次に示します。

Hiveにテーブルがあり、TABLE NAMEはSTUDENTであり、HDFSの場所のいずれかに格納されています。

_neethu 90 malini 90 sunitha 98 mrinal 56 ravi 90 joshua 8_

データをさらに変換するために、このテーブルをpigにロードするとします。このシナリオでは、HCATALOGを使用できます。

Hiveメタストアのテーブル情報をPigで使用する場合、pigを呼び出すときに-useHCatalogオプションを追加します。

_pig -useHCatalog_

(HCAT_HOME 'HCAT_HOME =/usr/lib/Hive-hcatalog /'をエクスポートできます)

このテーブルをpigにロードしています:A = LOAD 'student' USING org.Apache.hcatalog.pig.HCatLoader();

これで、テーブルをpigにロードしました。スキーマを確認するには、リレーションに対してDESCRIBEを実行します。

_DESCRIBE A_

ありがとう

27
Neethu

他の素晴らしい投稿を追加するHCatalogがどのように機能し、クラスター内にどのレイヤーが存在するか

how <code>HCatalog</code> works and where it sits in cluster

Q:正確にどのように機能しますか?

前述のように、「HCatalogはHadoopのテーブルおよびストレージ管理レイヤーです」MRなどの他のフレームワークに高レベルの抽象化を提供しますSparkおよびPigは、Hiveテーブルの分散ストレージレイヤーに対してI/O操作を実行します。

HCatalogは3つの主要な要素で構成されます

  1. SerDe:さまざまなデータ形式を処理するためのシリアライゼーションおよびデシリアライゼーションライブラリ。
  2. メタストアDB:Hiveテーブルのスキーマを格納するために使用します。
  3. WebHCat/HCatalog REST:WebクライアントのメタストアDB上のUI/RESTレイヤー。

Q:使い方は?

HCatalogがインストールされ、正常に実行されると、CLIで以下を実行します。

usage: hcat { -e "<query>" | -f "<filepath>" } 
   [ -g "<group>" ] [ -p "<perms>" ] 
   [ -D"<name> = <value>" ]

-D <property = value>    use hadoop value for given property
-e <exec>                hcat command given from command line
-f <file>                hcat commands in file
-g <group>               group for the db/table specified in CREATE statement
-h,--help                Print help information
-p <perms>               permissions for the db/table specified in CREATE statement

例:

./hcat –e "SELECT * FROM employee;"
11
mrsrinivas

Hcatalogは、Hadoopファイルシステムのメタデータ管理です。 Hcatalogは、rest APIを使用するwebhcatからアクセスできます。 hcatalogで作成されたテーブルには、Hiveとpigを介してアクセスできます。

3
saipm