spark_0108

Spark单节点部署

1. 找到安装文件

1 find / -name spark*.tgz

2. 解压文件到指定目录

1 tar -zxvf  ~/experiment/file/spark-2.2.0-bin-hadoop2.7.tgz  -C  /opt

3. 重命名

1 mv /opt/spark-2.2.0-bin-hadoop2.7 /opt/spark

4. 配置环境变量

1 vim /etc/profile
2 
3 #spark install
4 export SPARK_HOME=/opt/spark
5 export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

5. 刷新环境变量

1 source /etc/profile

6. 测试

1 spark-shell

Spark交互式Shell

1. 启动

1 spark-shell

2.行数统计案例(Scala版本 ):读取Spark安装目录下的README.md文件,并统计个文件有多少行记录,同时并打印出文档的第一行记录

val lines = sc.textFile("/opt/spark/README.md")
lines.count()
lines.first()

3.统计README.md文件中spark出现的次数(不区分大小写),将含有spark的行写入到一个独立的文件,保存至/root/out目录中

1 val lines = sc.textFile("/opt/spark/README.md")
2 val res=lines.flatMap(_.split(" ")).map(_.toLowerCase).filter(_.contains("spark"))
3 res.count()
4 res.coalesce(1).saveAsTextFile("/root/out")

4.查看WebUI界面网址master:4040

 1 lines.flatMap(.split(" ")).map(.toLowerCase).filter(.contains(“spark”)).count()
 2 lines.map(.toLowerCase).filter(_.contains(“spark”)).saveAsTextFile("/root/out")
 3 lines.map(.toLowerCase).filter(_.contains(“spark”)).coalesce(1).saveAsTextFile("/root/out")
 4 
 5 #集群
 6 #上传文件到集群
7 hdfs dfs -put /opt/XXX  /sjw
8 val lines = sc.textFile("hdfs://master:8020/sjw/XXX")
9 lines.coalesce(1).saveAsTextFile("hdfs://master:8020/out")

-----------------------------------------------------------------------------------------------

    • 创建RDD(P179)
      通过外部数据创建:sc.textFile(data path)

    • RDD转换(P180)
      对数据集中的每个元素进行转换,一转多:flatMap
      过滤:filter
      对数据集中的每个元素进行转换:map
      全部小写
      组装成键值对(word,1)
      聚合:reduceByKey
      排序:sortBy
      返回前n个元素:take(n)

    • 保存结果(P177)
      通过集合Array创建RDD:sc.parallelize(P179)
      合并为一个分区:coalesce(1)
      把RDD保存为文本文件:saveAsTextFile(out path)

find / -name spark*.tgz
tar -zxvf  ~/experiment/file/spark-2.2.0-bin-hadoop2.7.tgz  -C  /opt
mv /opt/spark-2.2.0-bin-hadoop2.7 /opt/spark

vim /etc/profile
#spark install
export SPARK_HOME=/opt/spark
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

source /etc/profile
spark-shell

val lines = sc.textFile("/opt/spark/README.md")
lines.count()
lines.first()

val lines = sc.textFile("/opt/spark/README.md")
val res=lines.flatMap(_.split(" ")).map(_.toLowerCase).filter(_.contains("spark"))
res.count()
res.coalesce(1).saveAsTextFile("/root/out")

lines.flatMap(.split(" ")).map(.toLowerCase).filter(.contains(“spark”)).count()
lines.map(.toLowerCase).filter(_.contains(“spark”)).saveAsTextFile("/root/out")
lines.map(.toLowerCase).filter(_.contains(“spark”)).coalesce(1).saveAsTextFile("/root/out")

#上传文件到集群
start-dfs.sh
hdfs dfs -put /opt/XXX  /sjw
val lines = sc.textFile("hdfs://master:8020/sjw/XXX")
lines.coalesce(1).saveAsTextFile("hdfs://master:8020/out")

  val res=lines.flatMap(_.split(" ")).filter(_.length>=3).filter(_.length<=10).map(_.toLowerCase).map((_,1)).reduceByKey(_+_).sortBy(_._2,false).take(3)

  sc.parallelize(res).coalesce(1).saveAsTextFile("/root/sjw")

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小石小石摩西摩西

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值