Где хранятся таблицы кустов в учетной записи хранения Azure? - PullRequest
1 голос
/ 08 мая 2020

Если я создам таблицу с помощью Hive, где будет храниться сама таблица в учетной записи хранения Azure?

Я намерен скопировать таблицы и хранилище метаданных для их дублирования.

Ответы [ 2 ]

1 голос
/ 09 мая 2020

Из микропрограммных документов, Если вы не укажете, (в случае внешней таблицы ...) база данных и таблицы хранятся в каталоге hive/warehouse/ в контейнере по умолчанию кластера Hive по умолчанию.

Вы также можете использовать эти параметры,

case: команда hive : если вы хотите знать, что по команде будет местоположение, где он хранится.

describe formatted <table name>

Случай: Если вы используете Spark

def getHiveTablePath(tableName: String, spark: SparkSession):String =
    {
       import org.apache.spark.sql.functions._
      val sql: String = String.format("desc formatted %s", tableName)
      val result: DataFrame = spark.sql(sql).filter(col("col_name") === "Location")
      result.show(false) // just for debug purpose
      val info: String = result.collect().mkString(",")
      val path: String = info.split(',')(1)
      path
    }

Пример:

вызывающий будет

    println(getHiveTablePath("src", spark)) // you can prefix schema if you have

Результат (я выполнил локальный файл: / ниже, если его hdfs hdfs: // придет):

+--------+------------------------------------+-------+
|col_name|data_type                           |comment|
+--------+--------------------------------------------+
|Location|file:/Users/hive/spark-warehouse/src|       |
+--------+------------------------------------+-------+

file:/Users/hive/spark-warehouse/src

0 голосов
/ 09 мая 2020

Если вы не укажете LOCATION , база данных и таблицы по умолчанию хранятся в hive / хранилище / каталоге в контейнере по умолчанию кластера Hive.

ссылка:

Создание базы данных и таблиц Hive

...