Spark 作为 Hive 的引擎
Spark as an engine for Hive
我们可以使用 Spark 作为 Hive 的引擎吗?
我们在 Hive 中有许多遗留系统和代码库,希望将 Spark 与 Hive 结合使用。
最佳,
两个选项,如果你想 运行 hive on spark,这是可能的,但它是一个非常 alpha 的功能:https://cwiki.apache.org/confluence/display/Hive/Hive+on+Spark%3A+Getting+Started
恕我直言,您最好使用 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)
总而言之,我建议您使用 Spark SQL 加载 Hive 表并重用所有 Hive 查询,但要通过 Spark SQL 的 API。
您可以在此处找到更多信息:http://spark.apache.org/docs/1.2.0/sql-programming-guide.html
这是否回答了您的问题?
此致,
您可以在 spark 执行时执行 hive 查询 engine.Hive 有大量依赖项,这些依赖项不包含在默认的 Spark 分发中。如果可以在类路径中找到 Hive 依赖项,Spark 将自动加载它们。
您可以在此处找到代码:
spark-hive-example
我们可以使用 Spark 作为 Hive 的引擎吗?
我们在 Hive 中有许多遗留系统和代码库,希望将 Spark 与 Hive 结合使用。
最佳,
两个选项,如果你想 运行 hive on spark,这是可能的,但它是一个非常 alpha 的功能:https://cwiki.apache.org/confluence/display/Hive/Hive+on+Spark%3A+Getting+Started
恕我直言,您最好使用 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)
总而言之,我建议您使用 Spark SQL 加载 Hive 表并重用所有 Hive 查询,但要通过 Spark SQL 的 API。
您可以在此处找到更多信息:http://spark.apache.org/docs/1.2.0/sql-programming-guide.html
这是否回答了您的问题?
此致,
您可以在 spark 执行时执行 hive 查询 engine.Hive 有大量依赖项,这些依赖项不包含在默认的 Spark 分发中。如果可以在类路径中找到 Hive 依赖项,Spark 将自动加载它们。
您可以在此处找到代码: spark-hive-example