sparkSQL查询操作

云计算 waitig 824℃ 百度已收录 0评论

原始数据

001,goods0001,10,20.00
002,goods0001,10,20.00
003,goods0002,50,30.00
004,goods0001,10,30.00
005,goods0003,90,10.00
006,goods0002,10,40.00

createOrReplaceTempView

    /**
      * createOrReplaceTempView:创建临时视图
      * Spark SQL中的临时视图是会话范围的,如果创建它的会话终止,则会消失
      */
    @Test
    def test2(): Unit ={
        val spark: SparkSession = SparkSession.builder().appName("Spark SQL basic example")
          .config("spark.some.config.option", "some-value").getOrCreate()

        import spark.implicits._
        val df: DataFrame = spark.read.csv("c:/users/os/desktop/new.txt") //载入csv格式数据

        //将DataFrame注册为一个SQL临时视图
        //Spark SQL中的临时视图是会话范围的,如果创建它的会话终止,则会消失
        df.createOrReplaceTempView("goods")

        val sqlDF: DataFrame = spark.sql("select * from goods")

        sqlDF.show()

    }

createGlobalTempView

    /**
      * 如果您想要在所有会话中共享一个临时视图,并保持活跃直到Spark应用程序终止,您可以创建一个全局临时视图
      */
    @Test
    def test3(): Unit = {
        val spark: SparkSession = SparkSession.builder().appName("Spark SQL basic example")
          .config("spark.some.config.option", "some-value").getOrCreate()
        import spark.implicits._
        val df: DataFrame = spark.read.csv("c:/users/os/desktop/new.txt") //载入csv格式数据

        df.createGlobalTempView("goods")
        spark.sql("select * from global_temp.goods").show()

        spark.newSession().sql("select * from global_temp.goods").show()
    }

本文由【waitig】发表在等英博客
本文固定链接:sparkSQL查询操作
欢迎关注本站官方公众号,每日都有干货分享!
等英博客官方公众号
点赞 (0)分享 (0)