spark简单API入门

在Spark 2.0之前,Spark的主要编程接口是弹性分布式数据集(RDD)。在Spark 2.0之后,RDD被数据集取代,数据集类似于RDD一样强类型,但在底层有更丰富的优化。

Spark的shell用来学习API

启动命令:

./bin/spark-shell

Spark的主要抽象是一个名为Dataset的分布式项目集合。可以从HDFS或通过转换其他数据集来创建数据集。

例如:让我们从README文件的文本中创建一个新的数据集

scala> val textFile = spark.read.textFile("README.md")
textFile: org.apache.spark.sql.Dataset[String] = [value: string]

可以通过调用某些操作直接从Dataset获取值,或者转换数据集以获取新值。

scala> textFile.count() // 这个Dataset的总数
res0: Long = 126 // May be different from yours as README.md will change over time, similar to other outputs

scala> textFile.first() // Dataset的first item
res1: String = # Apache Spark

将这个数据集转换为新数据集。调用filter返回一个新的数据集。

scala> val linesWithSpark = textFile.filter(line => line.contains("Spark"))
linesWithSpark: org.apache.spark.sql.Dataset[String] = [value: string]

可以将转换和行动联系在一起:

scala> textFile.filter(line => line.contains("Spark")).count() // How many lines contain "Spark"?
res3: Long = 15

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值