利用 sparksession读取Parquet,Json格式文件

简介: Spark支持的一些常见的格式:文本文件:无任何的格式json文件:半结构化parquet:一种流行的列式存储格式sequencefile:一种(k-v)的Hadoop文件格式.

Spark支持的一些常见的格式:

文本文件:无任何的格式
json文件:半结构化
parquet:一种流行的列式存储格式
sequencefile:一种(k-v)的Hadoop文件格式.

这里写图片描述
import org.apache.spark.SparkConf
import org.apache.spark.sql.SparkSession

object OpsWihtJson_and_parquet {

  def main(args: Array[String]): Unit = {
    val sparkconf = new SparkConf().setAppName("test_Spark_sql").setMaster("local[2]")
    val ss = SparkSession.builder()
      .config(sparkconf)
      .getOrCreate()
    val sc = ss.sparkContext
    import ss.implicits._
    val fileRDD = sc.textFile("/opt/tarballs/spark_kafka/beifengspark/src/main/scala/2015082818")
     //读文本文件,生成普通rdd,通过.toDF转化为dataframe,然后可以就使用sql了
    ss.read.json("/home/zkpk/Desktop/test.json")
      .createOrReplaceTempView("people")
    val rs = ss.sql("select * from people")
    rs.printSchema()
    rs.show()
    ss.read.parquet("/home/bymain/Desktop/mllibDATA/scalaLogisticRegressionWithSGDModel/data/part-r-00000-9295ec7d-956a-46e7-91f8-a0b6f8a8ac93.snappy.parquet")
      .createOrReplaceTempView("users")
    val rs2 = ss.sql("select * from users")
    rs2.printSchema()
    rs.show()

    sc.stop()
    ss.stop()
  }
}

“`
SparkSession实质上是SQLContext和HiveContext的组合(未来可能还会加上StreamingContext),所以在SQLContext和HiveContext上可用的API在SparkSession上同样是可以使用的。SparkSession内部封装了sparkContext,所以计算实际上是由sparkContext完成的。
如果需要读hdfs数据的话,通常走Hive的比较多。一般写sql的时候,能用sparksession解决的,都不会去弄rdd的各种transform和action*

相关文章
|
JSON 算法 vr&ar
目标检测笔记(五):查看通过COCOEvaluator生成的coco_instances_results.json文件的详细检测信息,包含AP、AR、MR和DR等
本文介绍了如何使用COCO评估器通过Detectron2库对目标检测模型进行性能评估,生成coco_instances_results.json文件,并利用pycocotools解析该文件以计算AP、AR、MR和DR等关键指标。
1189 1
目标检测笔记(五):查看通过COCOEvaluator生成的coco_instances_results.json文件的详细检测信息,包含AP、AR、MR和DR等
|
8月前
|
JSON 前端开发 应用服务中间件
配置Nginx根据IP地址进行流量限制以及返回JSON格式数据的方案
最后,记得在任何生产环境部署之前,进行透彻测试以确保一切运转如预期。遵循这些战术,守卫你的网络城堡不再是难题。
325 3
|
10月前
|
XML JSON API
如何在 Postman 中上传文件和 JSON 数据
如果你想在 Postman 中同时上传文件和 JSON 数据,本文将带你一步一步地了解整个过程,包括最佳实践和技巧,让你的工作更轻松。
|
开发工具 git 索引
怎么取消对project.private.config.json这个文件的git记录
通过以上步骤,您可以成功取消对 `project.private.config.json`文件的Git记录。这样,文件将不会被包含在未来的提交中,同时仍保留在您的工作区中。
308 28
|
JSON 人工智能 算法
探索大型语言模型LLM推理全阶段的JSON格式输出限制方法
本篇文章详细讨论了如何确保大型语言模型(LLMs)输出结构化的JSON格式,这对于提高数据处理的自动化程度和系统的互操作性至关重要。
1939 48
|
JSON 前端开发 搜索推荐
关于商品详情 API 接口 JSON 格式返回数据解析的示例
本文介绍商品详情API接口返回的JSON数据解析。最外层为`product`对象,包含商品基本信息(如id、name、price)、分类信息(category)、图片(images)、属性(attributes)、用户评价(reviews)、库存(stock)和卖家信息(seller)。每个字段详细描述了商品的不同方面,帮助开发者准确提取和展示数据。具体结构和字段含义需结合实际业务需求和API文档理解。
|
JSON 人工智能 算法
探索LLM推理全阶段的JSON格式输出限制方法
文章详细讨论了如何确保大型语言模型(LLMs)输出结构化的JSON格式,这对于提高数据处理的自动化程度和系统的互操作性至关重要。
2752 52
|
JSON JavaScript Java
对比JSON和Hessian2的序列化格式
通过以上对比分析,希望能够帮助开发者在不同场景下选择最适合的序列化格式,提高系统的整体性能和可维护性。
507 3
|
JSON API 数据安全/隐私保护
拍立淘按图搜索API接口返回数据的JSON格式示例
拍立淘按图搜索API接口允许用户通过上传图片来搜索相似的商品,该接口返回的通常是一个JSON格式的响应,其中包含了与上传图片相似的商品信息。以下是一个基于淘宝平台的拍立淘按图搜索API接口返回数据的JSON格式示例,同时提供对其关键字段的解释
|
JSON 数据格式 索引
Python中序列化/反序列化JSON格式的数据
【11月更文挑战第4天】本文介绍了 Python 中使用 `json` 模块进行序列化和反序列化的操作。序列化是指将 Python 对象(如字典、列表)转换为 JSON 字符串,主要使用 `json.dumps` 方法。示例包括基本的字典和列表序列化,以及自定义类的序列化。反序列化则是将 JSON 字符串转换回 Python 对象,使用 `json.loads` 方法。文中还提供了具体的代码示例,展示了如何处理不同类型的 Python 对象。
646 1