2015-06-23 4 views
1

Spark 1.3.1 поддерживает Hive Sql.Когда я печатаю show tables, он возвращает A B C D - 4 таблицы. У меня вопрос, где Spark хранит мои 4 таблицы? это hive.metastore местоположение? Я удалил hive.metastore местоположение, но show tables все еще показывает A B C DМесторасположение улья

ответ

5

Я видел это в documentation:. «Люди, которые не имеют существующего развертывания улей все еще может создать HiveContext Когда не сконфигурировано улья site.xml, контекст автоматически создает metastore_db и хранилище в текущем каталоге. "

Так что, если у вас нет какой-либо пользовательской конфигурации, он должен находиться в вашем репо под складом. Вы можете изменить это так:

val sparkConf = new SparkConf() 
val sparkContext = new SparkContext(sparkConf) 
val hiveContext = new org.apache.spark.sql.hive.HiveContext(sparkContext) 
hiveContext.setConf("hive.metastore.warehouse.dir", $YOUR_LOCATION) 

Я также видел это в документ: «При работе с улья надо построить HiveContext, который наследуется от SQLContext, а также добавляет поддержку для нахождения таблиц в в MetaStore» ,

Так что я действительно не понимаю, как вы все еще можете видеть свою таблицу после удаления метастара, возможно, это было где-то в памяти.


Edit:

То, что я понял это:

  • metastore: заголовки таблиц
  • склад: столы
Смежные вопросы