Я могу читать текстовые файлы в hdfs в конвейер apache crunch. Но теперь мне нужно прочитать разделы улья. Проблема в том, что в соответствии с нашим дизайном я не должен напрямую обращаться к файлу. Следовательно, теперь мне нужен какой-то способ, с помощью которого я могу получить доступ к разделам, используя что-то вроде HCatalog.
Как прочитать раздел улья в конвейер Apache Crunch?
Ответы (1)
Вы можете использовать API org.apache.hadoop.hive.metastore или 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())
}
Единственное, что вам понадобится, это экспортировать каталог конфигурации куста:
export HIVE_CONF_DIR=/home/mmichalski/hive/conf
person
Marcin
schedule
21.11.2014