Искра как двигатель для улья
Можем ли мы использовать Spark в качестве двигателя для Hive?
У нас есть много устаревших систем и кодовая база в Hive, и мы хотели бы использовать Spark с Hive.
Лучший,
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 загрузит их автоматически.
Вы можете найти код здесь: Искра-улей-пример