// 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)
2条答案
按热度按时间stszievb1#
有两种选择,如果您想在spark上运行hive,这是可能的,但这是一个非常alpha的特性:https://cwiki.apache.org/confluence/display/hive/hive+on+spark%3a+getting+started
我建议您最好使用spark sql和指定的hivecontext,您可以这样使用:
总之,我建议您使用sparksql加载配置单元表,并重用所有配置单元查询,但要通过sparksql的api。
您可以在这里找到更多信息:http://spark.apache.org/docs/1.2.0/sql-programming-guide.html
这回答了你的问题吗?
当做,
mitkmikd2#
您可以在spark执行引擎上执行配置单元查询。配置单元有大量依赖项,这些依赖项不包括在默认的spark分发中。如果可以在类路径上找到配置单元依赖项,spark将自动加载它们。
您可以在这里找到代码:spark hive示例