Местоположение, где они хранятся в HDFS, довольно легко определить, если вы знаете, где искать.:)
Если в браузере вы перейдете на http://NAMENODE_MACHINE_NAME:50070/
, откроется страница со ссылкой Browse the filesystem
.
В каталоге $HIVE_HOME/conf
есть hive-default.xml
и / или hive-site.xml
, обладающее свойством hive.metastore.warehouse.dir
.Именно к этому значению вы захотите перейти после нажатия на ссылку Browse the filesystem
.
В моем случае это /usr/hive/warehouse
.Как только я перехожу в это место, я вижу названия своих таблиц.Нажав на имя таблицы (которая является просто папкой), вы откроете разделы таблицы.В моем случае, в настоящее время он только разделен на date
.Когда я нажимаю на папку на этом уровне, я вижу файлы (больше разделов будет иметь больше уровней).В этих файлах фактически хранятся данные в HDFS.
Я не пытался получить доступ к этим файлам напрямую, я предполагаю, что это можно сделать.Я бы очень заботился, если вы думаете о редактировании их.:) Для меня - я бы нашел способ сделать то, что мне нужно, без прямого доступа к данным Hive на диске.Если вам нужен доступ к необработанным данным, вы можете использовать запрос Hive и вывести результат в файл.Они будут иметь ту же структуру (разделитель между столбцами и т. Д.), Что и файлы на HDFS
.Я делаю подобные запросы постоянно и конвертирую их в файлы CSV.
Раздел о том, как записывать данные из запросов на диск: https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DML#LanguageManualDML-Writingdataintothefilesystemfromqueries
ОБНОВЛЕНИЕ
Начиная с Hadoop 3.0.0 - Alpha 1, изменились номера портов по умолчанию.NAMENODE_MACHINE_NAME: 50070 изменяется на NAMENODE_MACHINE_NAME: 9870.Используйте последнее, если вы работаете на Hadoop 3.x.Полный список изменений порта описан в HDFS-9427