zoukankan      html  css  js  c++  java
  • spark学习三

    1.spark中partition的概念
    partition是RDD的最小单元,是盛放文件的盒子,一个文件可能需要多个partition,但是一个partition只能
    存放一个文件中的内容,partition是spark计算中,生成的数据在计算空间内最小单元,
    2.fileWriter.flush()
    flush() 是清空,而不是刷新啊。
    一般主要用在IO中,即清空缓冲区数据,就是说你用读写流的时候,其实数据是先被读到了内存中,
    然后用数据写到文件中,当你数据读完的时候不代表你的数据已经写完了,因为还有一部分有可能
    会留在内存这个缓冲区中。这时候如果你调用了 close()方法关闭了读写流,那么这部分数据就会
    丢失,所以应该在关闭读写流之前先flush(),先清空数据。
    3.fileWriter.write(System.getProperty("line.separator"))
    是换行符,功能和" "是一致的,但是此种写法屏蔽了 Windows和Linux的区别 ,更保险一些.
    4.val totalAge = lines.map(line=>line.split(" ")(1)).map(t=>t.trim.toInt).collect().reduce((a,b)=>a+b)
    收集每行中的成绩,变成整型,然后求和
     
    实验三:

    1.在 spark-shell 中读取 Linux 系统本地文件“/home/hadoop/test.txt”,然后统计出文 件的行数;

     

    2.在 spark-shell 中读取 HDFS 系统文件“/user/hadoop/test.txt”(如果该文件不存在, 请先创建),然后,统计出文件的行数;

    (1)       将文件上传到hdfs上

     

    (2)   启动spark,并实现统计文件行数

     3.编写独立应用程序,读取 HDFS 系统文件“/user/hadoop/test.txt”(如果该文件不存在, 请先创建),然后,统计出文件的行数;通过 sbt 工具将整个应用程序编译打包成 JAR 包, 并将生成的 JAR 包通过 spark-submit 提交到 Spark 中运行命令

    (1)       创建文件夹以及scala文件

    (2)       编写程序

    import org.apache.spark.SparkContext

    import org.apache.spark.SparkContext._

    import org.apache.spark.SparkConf

    object WordCount {

        def main(args: Array[String]) {

            val inputFile =  "hdfs://localhost:9000/user/hadoop/word.txt"

            val conf = new SparkConf().setAppName("WordCount")

            val sc = new SparkContext(conf)

                    val textFile = sc.textFile(inputFile)

                    val num=textFile.count()

                    println("文本的行数:%s".format(num))     

        }

    }

    (3)       新建sbt文件

    (4)       将程序打包成JAR

     

    (5)通过 spark-submit 运行程序,将生成的 jar 包通过 spark-submit 提交到 Spark 中运行

  • 相关阅读:
    [翻译]关于堆和堆栈
    sql 字符+数值 混合排序 lcs
    证明DataReader分页的可行性 lcs
    谈谈我对小公司、大公司及个人成长的见解 lcs
    sina 通用js代码说明 lcs
    Linux系统下生成证书 https证书
    【转】51单片机外部中断的C51编程
    【转】如何建立个人网站
    【转】关于C51的中断编程[原创]
    【转】毫不费力:破解加密PDF文档就使用这两三招
  • 原文地址:https://www.cnblogs.com/zhang12345/p/12260775.html
Copyright © 2011-2022 走看看