Искра как двигатель для улья


Можем ли мы использовать Spark в качестве двигателя для Hive?

У нас есть много устаревших систем и кодовая база в Hive, и мы хотели бы использовать Spark с Hive.

Лучший,

2 3

2 ответа:

Два варианта, если вы хотите запустить hive на spark, это возможно, но это очень Альфа-функция: https://cwiki.apache.org/confluence/display/Hive/Hive + on + Spark%3A + начало работы

IMHO вам лучше использовать Spark SQL и обозначенный HiveContext, который вы можете использовать так:

// sc is an existing SparkContext.
val sqlContext = new org.apache.spark.sql.hive.HiveContext(sc)

sqlContext.sql("CREATE TABLE IF NOT EXISTS src (key INT, value STRING)")
sqlContext.sql("LOAD DATA LOCAL INPATH 'examples/src/main/resources/kv1.txt' INTO TABLE src")

// Queries are expressed in HiveQL
sqlContext.sql("FROM src SELECT key, value").collect().foreach(println)

В общем, я бы предложил вам загрузить таблицы Hive с помощью Spark SQL и повторно использовать все ваши запросы Hive, но через API Spark SQL.

Вы можете найти дополнительную информацию здесь : http://spark.apache.org/docs/1.2.0/sql-programming-guide.html

Это ответ на ваш вопрос ?

С уважением,

Вы можете выполнять запросы hive на Spark execution engine.Hive имеет большое количество зависимостей, эти зависимости не включены в дистрибутив Spark по умолчанию. Если зависимости Hive можно найти на пути к классу, Spark загрузит их автоматически.

Вы можете найти код здесь: Искра-улей-пример