sparkSql 创建dataFrame几种方式

本文介绍了SparkSQL在2.x版本中的主要入口SparkSession,它是SQLContext和HiveContext的结合体。接着详细讲述了如何使用SparkSession创建DataFrame,包括读取json、parquet文件,从MySQL数据库导入,通过反射转换RDD以及动态创建schema的方式。还提到了读取Hive表的前提条件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前提
在老的版本1.x中,SparkSQL提供两种SQL查询起始点:一个叫SQLContext,用于Spark自己提供的SQL查询;一个叫HiveContext,用于连接Hive的查询。
SparkSession是Spark最新的2.x SQL查询起始点,实质上是SQLContext和HiveContext的组合,所以在SQLContext和HiveContext上可用的API在SparkSession上同样是可以使用的。SparkSession内部封装了sparkContext,所以计算实际上是由sparkContext完成的

创建dataFrame的几种方式

  1. 读json 文件:注意不能读取嵌套类型Json文件
  val spark = SparkSession.builder().appName("df1").getOrCreate()
  val df1: DataFrame = spark.read.json("./json")
  //俩种方式读json文件
 // val df1: DataFrame = spark.read.format("json").load("./json")
  df1.createTempView("t1")
  spark.sql("select * from t1 where age >21")
  1. 读parquet文件:和读json文件类似
 val spark = SparkSession.builder().appName("df1").getOrCreate()
  val df1: DataFrame = spark.read.parquet("./a")
  1. 读取mysql文件
 //sparkSql入口
  val spark = SparkSession.builder().master("local[*]").appName("d
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值