我能够将hdfs中的文本文件读入apachecrunch管道。但现在我需要读取Hive分区。问题是,根据我们的设计,我不应该直接访问文件。因此,现在我需要一些方法,通过这些方法可以使用hcatalog之类的东西访问分区。
a9wyjsp71#
您可以使用org.apache.hadoop.hive.metastore api或hcat api。下面是一个使用hive.metastore的简单示例。除非要连接到Map器/缩减器中的某个配置单元分区,否则必须在开始管道之前调用或。
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()) }
您只需要导出配置单元conf dir:
export HIVE_CONF_DIR=/home/mmichalski/hive/conf
1条答案
按热度按时间a9wyjsp71#
您可以使用org.apache.hadoop.hive.metastore api或hcat api。下面是一个使用hive.metastore的简单示例。除非要连接到Map器/缩减器中的某个配置单元分区,否则必须在开始管道之前调用或。
您只需要导出配置单元conf dir: