惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 【当耐特】
小众软件
小众软件
S
SegmentFault 最新的问题
GbyAI
GbyAI
量子位
爱范儿
爱范儿
L
LangChain Blog
Vercel News
Vercel News
A
About on SuperTechFans
腾讯CDC
博客园_首页
酷 壳 – CoolShell
酷 壳 – CoolShell
月光博客
月光博客
博客园 - 聂微东
Stack Overflow Blog
Stack Overflow Blog
H
Help Net Security
U
Unit 42
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
V
V2EX
V
Visual Studio Blog
美团技术团队
D
DataBreaches.Net
The GitHub Blog
The GitHub Blog
N
Netflix TechBlog - Medium

博客园 - cindy_zl

SAP SD销售与分销模块 Agent认知框架ReAct&Plan RAG系统优化 RAG检索优化 RAG架构 SAA-C02-架构师助理级-英文版-Q1 scala-数组 navicat mysql创建存储过程报错 安装完kali出现中文乱码 SPARK SQL ERROR: Detected cartesian product for INNER join between logical plans报错解决方法 scala的lazy关键字 scala集合三大类(seq序列,set集,map映射)——map映射 scala集合三大类(seq序列,set集,map映射)——set集合 scala集合三大类(seq序列,set集,map映射)——list序列 scala元组及拉链操作 scala的map映射 scala数组 scala方法和涵数的声明以及方法转换成涵数 scala的基础数据类型&if条件表达式&for循环
Spark SQL是处理结构化的数据
cindy_zl · 2019-10-04 · via 博客园 - cindy_zl

Spark SQL是处理结构化的数据,可以存储在二维表中,类似数据库中的表一样存储数据

Spark1.x

      val sqlContext = new SparkContext(conf)

      val sqlContext = new SQLContext(sc)

     //将RDD和Schema信息关联到一起,1,RDD和case class 2,RDD和StructType

    //case class Person将RDD中的数据转换成case class 属性相对应的类型,然后设置到case class中

    val rdd:RDD[Person] = ....

    //将RDD转换成DataFrame

    val df = rdd.toDF

    //对df进行操作(1,直接使用DataFrame上的算子DSL。2,写SQL)

   //将df注册成临时表

   df.registerTempTable("t_person")

  //执行SQL

  val result :DataFrame = sqlContext.sql("select * from t_person");

   result.show()

Spark2.x

val spark = SparkSession.builder().appName("a").master("local[*]").getOrCreate()

//创建DF

val df = spark.createDataFrame(RDD[Row], schema)

//DSL 和 SQL

df.createTempView("v_user")

//执行SQL

val result:DataFrame = spark.sql("select * from t_user")

//执行action

result.show()

//