zoukankan      html  css  js  c++  java
  • Spark读写不同格式数据

    Spark读写不同个数数据

    SPark读取数据

    读取文本文件格式

    val inputTextFile = sc.textFile(path)
    

    可以通过/*.txt读取多个文件。

    读取JSON文件格式

    和文本文件读取函数一样

    val inputJsonFIle = sc.textFIle("path/a.json")
    

    读取CSV、TSV格式数据

    采用flatMap()和split()函数来分割。

    flatMap(_.split(","))
    flatMap(_.split("	"))
    

    读取SequenceFile格式数据

    val inputSequenceFile = sc.sequenceFile[String, String](path)
    

    读取Object格式数据

    val inputObjectFile = sc.objectFile[Person](path)
    

    读取HDFS数据,调用Hadoop API

    val inputHadoopFile = sc.newAPIHadoopFile[LongWritable, Text, TextInputFormat](path, classOf[TextInputFormat], classOf[LongWritable], classOf[Text])
    

    读取MySQL数据库数据

    val inputMysql = new JdbcRDD(sc, 
        () => {
            Class.forName("com.mysql.jdbc.Driver")
            DriverManager.getConnection("jdbc:mysql://bigdata:3306/databasename?", "root", "root")
        },
        "select * from tablename where a >= and b <=;",
        分区数,
        获取实例的列数,
        打印记录数
        )
    

    Spark写入数据

    保存普通文本文件

    rddText.saveAsTextFile(path)
    

    保存JSON文件

    先把数据封装到List集合中,并生成JSONArray对象,然后把该对象放到Map集合中。

    val map1 = Map(JSON(List("内容")))
    
    val rddData = sc.parallelize(List(JSONObject(map1)))
    rddData.saveAsTextFile(path)
    

    保存SequenceFile文件

    rddData.saveAsSequenceFile(path)
    

    保存Object文件

    rddData.saveAsObjectFile(path)
    

    保存HDFS文件

    //用saveAsTextFile()
    saveAsTextFile("hdfs://")
    
    //用saveAsNewAPIHadoopFile()
    rddData.saveAsNewAPIHadoopFIle(path, classOf[Text], classOf[IntWritable], classOf[TextOutputFormat[Text, IntWritable]])
    
  • 相关阅读:
    C语言运算符
    C语言的scanf函数
    C语言的数据、常量和变量
    js 操作样式属性
    点击图片显示或隐藏密码案例
    js 操作元素
    DOM 获取元素
    js 字符串对象
    js 数组
    js 倒计时 案例
  • 原文地址:https://www.cnblogs.com/chenshaowei/p/13883158.html
Copyright © 2011-2022 走看看