spark分享讲义.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
spark分享讲义

PPT模板下载:/moban/ DataFrame操作 1.展示 DataFrame 的内容 df.show() // age name // null Michael // 30 Andy // 19 Justin 2.展示所有人,但所有人的 age 都加1 df.select(df(name), df(age) + 1).show() // name (age + 1) // Michael null // Andy 31 // Justin 20 3.计算各个年龄的人数 df.groupBy(age).count().show() // age count // null 1 // 19 1 // 30 1 PPT模板下载:/moban/ DataFrame操作 SQL操作: 1.首先把DataFrame注册为临时表 df.registerTempTable(people) 2. HiveContext.sql执行SQL查询,并返回DataFrame,语法与Hql一致 val teenagers = hiveContext.sql(SELECT name, age FROM people WHERE age = 13 AND age = 19) 保存DataFrame: 1,保存为指定的格式 df.select(“name”, “favorite_color”).write.mode(“overwrite”). format(parquet).save(FavColors.parquet) df.select(“name”, “favorite_color”).write.mode(“overwrite”). parquet(FavColors.parquet) 2.保存为hive表 调用saveAsTable方法,将数据保存成持久化的表 Scala/Java 所有语言 解释 SaveMode.ErrorIfExists? error 如果数据已经存在,则抛异常。(默认) SaveMode.Append append 如果数据或表已经存在,则将DataFrame的数据追加到已有数据的尾部。 SaveMode.Overwrite overwrite 如果数据或表已经存在,则用DataFrame数据覆盖之。 SaveMode.Ignore ignore 如果数据已经存在,那就放弃保存DataFrame数据。 PPT模板下载:/moban/ 和RDD互操作 Spark SQL有两种方法将RDD转为DataFrame: 1.使用反射机制,推导包含指定类型对象RDD的schema。 2.编程方式构建一个schema,然后应用到指定RDD上。 利用反射推导schema: // 定义一个case class. case class Person(name: String, age: Int) // 创建一个包含Person对象的RDD,并将其注册成table val people = sc.textFile(examples/src/main/resources/people.txt) .map(_.split(,)).map(p = Person(p(0), p(1).trim.toInt)).toDF() people.registerTempTable(people) // sqlContext.sql方法可以直接执行SQL语句 val teenagers = sqlContext.sql(SELECT name, age FROM people WHERE age = 13 AND age = 19) Python: From pyspark.sql import SQLContext,Row Lines=sc.textFile(“examples/src/main/resources/people.txt”) Parts=lines.map(lambda l: l.split(“,”)) People=parts.map(lambda p:Row(name=p[0],age=int(p[1]))) schemaPeople=sqlContext.createDataFrame(people) schemaPeople.registerTempTable(“people”) PPT模板下载:/moban/ 和RDD互操作 编程方式定义Schema: 1.从已有的RDD创建一个包含Row对象的RDD 2.用StructType创建一个schema,和步骤1中创建的RDD的结构相匹配 3.把得到的sche

文档评论(0)

2299972 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档