• 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")

    小石小石摩西摩西的学习笔记,欢迎提问,欢迎指正!!!
  • 相关阅读:
    用JavaScript实现的将GB2312转换为UTF8编码
    一行内文本超出指定宽度溢出的处理
    JavaScript delete
    深入学习Enterprise Library for .NET Framework 2.0的Cache机制——分析篇
    CSS兼容技巧
    IE6,IE7,FF兼容CSS的差别及解决办法
    JavaScript获取当前文件全路径、当前目录、当前文件名
    DIV+CSS相对IE6 IE7和IE8兼容问题整理
    ie8兼容ie7css的方法和minheight的兼容问题
    Atitit.得到网络邻居列表java php c#.net python
  • 原文地址:https://www.cnblogs.com/shijingwen/p/14250849.html
Copyright © 2020-2023  润新知