как настроить подключение к базе данных hive внутри spark

Новинка для spark and hive. В настоящее время я могу запустить spark 1.5.2, и у меня также есть доступ к hive из командной строки. Я хочу иметь возможность программно подключиться к базе данных hive, выполнить запрос и извлечь данные во фрейм данных, все внутри spark. Я думаю, что такой рабочий процесс довольно стандартный. Но я понятия не имею, как это сделать.

Прямо сейчас я знаю, что могу получить HiveContext в spark:

import org.apache.spark.sql.hive.HiveContext;

Я могу сделать все мои запросы внутри улья, как

SHOW TABLES; 
>>customers
  students
  ...

Затем я могу получить данные из таблиц:

SELECT * FROM customers limit 100;

Как связать эти 2 вместе внутри spark?

Спасибо.

1 ответ

  1. // sc-это существующий SparkContext.

    val sqlContext = new org.apache.spark.sql.hive.HiveContext(sc)
    

    // Запросы выражены в HiveQL

    val tablelist = sqlContext.sql("show tables")
    val custdf = sqlContext.sql("SELECT * FROM customers limit 100") 
    
    tablelist.collect().foreach(println)     
    custdf.collect().foreach(println)