Как использовать SPARK для запроса на HIVE? - PullRequest
0 голосов
/ 15 ноября 2018

Я пытаюсь использовать spark для выполнения запросов к таблице улья.Я следил за множеством статей, представленных в Интернете, но безуспешно.Я переместил файл hive-site.xml в местоположение искры.

Не могли бы вы объяснить, как это сделать?Я использую Spark 1.6

Заранее спасибо.

Пожалуйста, найдите мой код ниже.

import sqlContext.implicits._
import org.apache.spark.sql
val eBayText = sc.textFile("/user/cloudera/spark/servicesDemo.csv")
val hospitalDataText = sc.textFile("/user/cloudera/spark/servicesDemo.csv")
val header = hospitalDataText.first()
val hospitalData = hospitalDataText.filter(a=>a!=header)
case class Services(uhid:String,locationid:String,doctorid:String)
val hData = hospitalData.map(_.split(",")).map(p=>Services(p(0),p(1),p(2)))
val hosService = hData.toDF()
hosService.write.format("parquet").mode(org.apache.spark.sql.SaveMode.Append).save("/user/hive/warehouse/hosdata")

Этот код создал папку 'hosdata' по указанному пути, которая содержитданные в формате «паркет».

Но когда я пошел в улей и проверил, создана таблица или нет, я не смог увидеть ни одного имени таблицы как «hosdata».

Так что яЗапустите команды ниже.

hosService.write.mode("overwrite").saveAsTable("hosData")
sqlContext.sql("show tables").show

показывает мне результат ниже

+--------------------+-----------+
|           tableName|isTemporary|
+--------------------+-----------+
|             hosdata|      false|
+--------------------+-----------+

Но опять же, когда я проверяю в улье, я не вижу таблицу 'hosdata'

Может кто-нибудьдайте мне знать, какой шаг я пропускаю?

1 Ответ

0 голосов
/ 15 ноября 2018

Существует несколько способов запроса Hive с использованием Spark.

  1. Как и в Hive CLI, вы можете выполнять запросы с использованием Spark SQL
  2. Spark-shell доступен для запуска sparkфайлы классов, в которых вам нужно определить переменную, как для куста, объект конфигурации spark.Метод Spark Context-sql () позволяет вам выполнить тот же запрос, который вы могли выполнить в Hive

Настройка производительности, безусловно, важная перспектива, поскольку вы можете использовать широковещательные и другие методы для более быстрого выполнения.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...