Sparkexamples源码分析

这篇文章主要介绍“Spark examples源码分析”,在日常操作中,相信很多人在Spark examples源码分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Spark examples源码分析”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

十余年成都创新互联网站建设,由一走到现在,当中离不开团队顽强的创业精神,离不开伴随我们同行的客户与专业的合作伙伴,创力信息一直秉承以“见一个客户,了解一个行业,交一个朋友”的方式为经营理念,提出“让每一个客户成为我们的终身客户”为目标,以为用户提供精细化服务,全面满足用户需求为宗旨,诚信经营,更大限度为用户创造价值。期待迈向下一个更好的十余年。

SparkSQLExample

private def runBasicDataFrameExample(spark: SparkSession): Unit = {

    val df = spark.read.json("hdfs://master:9000/sparkfiles/people.json")
    df.show()
    import spark.implicits._
    df.printSchema()
    df.select("name").show()
    df.select($"name", $"age" + 1).show()
    df.filter($"age" > 21).show()
    df.groupBy("age").count().show()
    df.createOrReplaceTempView("people")

    val sqlDF = spark.sql("SELECT * FROM people")
    sqlDF.show()

}

people.json的文件内容如下所示:

{"name":"Michael"}
{"name":"Andy", "age":30}
{"name":"Justin", "age":19}

首先是读取文件,构建一个DataFrame,而DataFrame定义在package object sql当中,其实质上是Dataset[Row]的别名。

之后我们看一下df.show(),它的输出是这个样子的(真不嫌麻烦):

Spark examples源码分析

df.printSchema()输出的是json的结构信息:

Spark examples源码分析

df.select("name").show(),对于select方法而言,返回的还是一个DataFrame,当中只包含一列name。

df.select($"name", $"age" + 1).show(),返回一个DataFrame,所有人的年龄+1。

df.groupBy("age").count().show(),这行代码我们需要详细说一下,首先,groupBy的返回值是一个RelationalGroupedDataset, A set of methods for aggregations on a DataFrame, created by Dataset.groupBy. 当中提供了min,max,count等等聚合函数。count的结构又是一个DataFrame

最后一段很有趣,可以临时创建一个view,然后用sql进行查询。

df.createOrReplaceTempView("people")

val sqlDF = spark.sql("SELECT * FROM people")
sqlDF.show()

到此,关于“Spark examples源码分析”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


分享标题:Sparkexamples源码分析
分享URL:http://myzitong.com/article/pipsdp.html