spark sql 学习:
def main(args: Array[String]): Unit = {
val sparksession = SparkSession.builder().appName("HBaseTest").master("local").getOrCreate()
val sc = sparksession.sparkContext
//设置日志级别
sc.setLogLevel("ERROR")
val x = sc.makeRDD(List((1,2),(1,3),(1,2),(4,5)))
val y = sc.makeRDD(List((3,2),(4,3),(1,2),(4,5)))
val sqlContext = sparksession.sqlContext
//隐式声明,从而使RDD可以转换为DataFrame(一般dataset)
import sqlContext.implicits._
val df1 = x.toDF("guo","yan")
val df2 = y.toDF("guo1","yan1")
val ds = df1.join(df2).where("guo == guo1")
ds.createOrReplaceTempView("joinTable")
sqlContext.sql("select guo,yan,yan1 from joinTable").show()
}
sparksql讲解网址:http://blog.youkuaiyun.com/dabokele/article/details/52802150
直接在命令行中使用spark-sql:
spark-sql --master spark://bigdata01:7077 --executor-cores 1 --num-executors 8 --name sparktaskname -e "your sql" >>output.csv
--conf spark.cores.max=8 用于配置本提交的任务占用的最大核心数
--conf spark.executor.instances=2 用于配置本任务最多的实例数
--conf spark.executor.memory=4g 用于配置每个实例分配的内存(根据资源情况进行动态分配即可)
--conf spark.executor.cores=2 设置任务中的每个执行器(每个实例)占用的核数
本文介绍了如何使用SparkSession在Scala中创建DataFrame,包括RDD转换、DataFrame连接、SQL查询及基本操作。通过实例展示了如何将RDD转换为DataFrame,并进行数据Join和查询结果展示。链接提供了深入Spark SQL的详细教程。
1090

被折叠的 条评论
为什么被折叠?



