spark(4)

SparkSQL

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

  该模块能在spark上运行sql语句

  DataFrame      //数据框,相当于mysql中的表

  使用类似SQL的方式来访问hadoop,实现MR计算。RDD

  df = sc.createDataFrame(rdd);

  DataSet<Row> ==DataFrame===>//类似于table操作

SparkSQL java

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

package com.it18zhang.scalaDemo;

import org.apache.spark.SparkConf;

/**json
 * Created by stone on 2018/9/28.
 */
public class SQLJava {
    public static void main(String[] args){
        SparkConf conf = new SparkConf();
        conf.setMaster("local");
        conf.setAppName("SQLJava");
        SparkSession session = SparkSession.builder().appendName("SQLJava").config("master","local").getOrCreate();
        Dataset<Row> df = session.read().json("file:///d:/scala/json.dat");
        df.show();
    }
}

将DataFrame转换成RDD的操作

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

    JavaRDD<Row> rdd = df1.toJavaRDD();

保存spark的sql计算结果(json)

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

  //保存成json文件。

  df.write().json(dir);

  //设置保存模式

  df.mode(SavaMode.APPEND);

json文件的读写

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

  //读取json文件形成的df对象

  SparkSeesion.read().json("...");

  //将数据框数据写入json文件

  SparkSeesion.write().json("....");

SparkDataFrame以jdbc方式操纵的表

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

  1.引入mysql驱动

  

posted @ 2018-09-29 10:05  stone1234567890  阅读(175)  评论(0编辑  收藏  举报