1

hdfs のテキスト ファイルを apache crunch パイプラインに読み込むことができます。しかし今、ハイブ パーティションを読み取る必要があります。問題は、私たちの設計によると、ファイルに直接アクセスすることは想定されていないことです。したがって、HCatalog などを使用してパーティションにアクセスできる方法が必要です。

4

1 に答える 1

0

org.apache.hadoop.hive.metastore API または HCat API を使用できます。hive.metastore を使用した簡単な例を次に示します。マッパー/リデューサーで Hive パーティションに参加したい場合を除き、パイプラインを開始する前に または を呼び出す必要があります。

HiveMetaStoreClient hmsc = new HiveMetaStoreClient(hiveConf)
HiveMetaStoreClient hiveClient = getHiveMetastoreConnection();
List<Partition> partitions = hiveClient.listPartittions("default", "my_hive_table", 1000)
for(Partition partition: partitions) {
   System.out.println("HDFS data location of the partition: " + partition.getSd().getLocation())
}

他に必要なのは、hive conf dir をエクスポートすることだけです。

export HIVE_CONF_DIR=/home/mmichalski/hive/conf
于 2014-11-21T23:02:29.080 に答える