spark作为hive的引擎

6vl6ewon  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(360)

我们能用Spark作为Hive的引擎吗?
我们在hive中有许多遗留系统和代码库,希望将spark与hive结合使用。
最好的,

stszievb

stszievb1#

有两种选择,如果您想在spark上运行hive,这是可能的,但这是一个非常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)

总之,我建议您使用sparksql加载配置单元表,并重用所有配置单元查询,但要通过sparksql的api。
您可以在这里找到更多信息:http://spark.apache.org/docs/1.2.0/sql-programming-guide.html
这回答了你的问题吗?
当做,

mitkmikd

mitkmikd2#

您可以在spark执行引擎上执行配置单元查询。配置单元有大量依赖项,这些依赖项不包括在默认的spark分发中。如果可以在类路径上找到配置单元依赖项,spark将自动加载它们。
您可以在这里找到代码:spark hive示例

相关问题