准备数据文件

/home/iie4bu/app/spark-2.4.5-bin-2.6.0-cdh5.15.1/examples/src/main/resources路径下有一个users.parquet文件。

查看parquet文件内容

package cn.ac.iie.sparkimport org.apache.spark.sql.SparkSession/*** Parquet文件操作*/
object ParquetApp {def main(args: Array[String]): Unit = {val sparksession = SparkSession.builder().appName("DataFrameCase").master("local[2]").getOrCreate()val df = sparksession.read.format("parquet").load("file:///E:/test/users.parquet")df.printSchema()df.show()sparksession.close()}
}

我们先简单打印一下users.parquet文件内容是什么,输出结果如下:

简单查询然后将结果输出

object ParquetApp {def main(args: Array[String]): Unit = {val sparksession = SparkSession.builder().appName("DataFrameCase").master("local[2]").getOrCreate()val df = sparksession.read.format("parquet").load("file:///E:/test/users.parquet")df.printSchema()df.show()df.select("name", "favorite_numbers").write.format("json").save("file:///E:/test/users-result")sparksession.close()}
}

这样就将结果保存到E:/test/users-result文件夹下了。

spark数据源如果没有指定format,那么默认是parquet文件来处理。

val df2 = sparksession.read.load("file:///E:/test/users.json")会报错,因为spark会默认是parquet文件格式。

使用Spark-SQL方式读取parquet文件

启动spark-sql:./spark-sql --master local[2] --jars /home/iie4bu/software/mysql-connector-java-5.1.35.jar --driver-class-path /home/iie4bu/software/mysql-connector-java-5.1.35.jar

CREATE TEMPORARY VIEW parquetTable
USING org.apache.spark.sql.parquet
OPTIONS (path "/home/iie4bu/app/spark-2.4.5-bin-2.6.0-cdh5.15.1/examples/src/main/resources/users.parquet"
)

查看刚创建的表:show tables

查询表内容:select * from parquettable

可以通过option方式导入数据

sparksession.read.format("parquet").option("path", "file:///E:/test/users.parquet").load(),这种方式与上面的方式效果是相同的。

SparkSQL之External Data读写parquet相关推荐

  1. SparkSQL之External Data

    External Data产生背景 在之前的案例中,每一个Spark Application都是以加载数据开始,经过一系列处理,然后把结果展示到控制台中. 在生产环境中我们往往需要把数据存储到外部系统 ...

  2. 2021年大数据Spark(三十二):SparkSQL的External DataSource

      目录 External DataSource 数据源与格式 text 数据 json 数据 csv 数据 parquet 数据 jdbc 数据 ​​​​​​​加载/保存数据-API ​​​​​​​ ...

  3. 13_clickhouse,Merge引擎,File引擎,External Data引擎,External Data引擎,Null Engine,URL引擎,Memory、Set、Buffer

    13.Merge引擎 13.1.Merge引擎 13.2.案例 14.File引擎 14.1.File引擎 14.2.案例 15.External Data引擎 15.1.External Data引 ...

  4. 读取parquet_Java读写Parquet格式的数据的方法

    本篇文章主要介绍了java 读写Parquet格式的数据的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 本文介绍了java 读写Parquet格式的数据,分享给 ...

  5. ANSYS workbench 根据坐标施加载荷- external data载荷映射

    在一些类型的分析中,需要将按位置分布的载荷施加到结构上,比如流体分析导出了结构的压强分布,需要将压强分布载荷施加到固体上.这种分析可以使用workbench中的external data实现. 1 例 ...

  6. XDR: External Data Representation

    简介 XDR全称为External Data Representation,是一个描述和编码数据的标准.1987年由Sun公司(Sun Microsystems, Inc)发明. XDR同时是一门语言 ...

  7. 记一次ARM-鲲鹏服务器读写parquet报错解决过程

    背景: 最近客户现场使用华为提供的ARM-鲲鹏服务器集群,使用spark2.4.0,输出数据格式为parquet时,下游流程再使用该输出作为输入时出现报错,报错日志如下: Caused by: jav ...

  8. 【论文翻译】Pushing the Limits of Simple Pipelines for Few-Shot Learning: External Data and Fine-Tuning Ma

    摘要 小样本学习(FSL)是计算机视觉领域一个重要而热门的问题,它促进了从复杂的元学习到简单的迁移学习基线等众多方法的广泛研究.我们试图推动一个简单但有效的pipeline的极限,为更现实和实用的设置 ...

  9. Spark SQL 编程API入门系列之SparkSQL数据源

    不多说,直接上干货! SparkSQL数据源:从各种数据源创建DataFrame 因为 spark sql,dataframe,datasets 都是共用 spark sql 这个库的,三者共享同样的 ...

最新文章

  1. Android权限申请完全解析(一):Android自带的权限申请
  2. TCP的三次握手,四次断开
  3. (Spring)整合mybatis
  4. BZOJ 3391: [Usaco2004 Dec]Tree Cutting网络破坏(搜索)
  5. 每日一题(24)—— const
  6. toj 4319 盒子游戏
  7. hdu 3746 kmp求循环节 下标从1开始
  8. 2018 推荐系统总结
  9. python pypdf2另存为图片_Python系列—PDF文本与图片抽取
  10. Android中UI线程与后台线程交互设计的5种方法
  11. EXCEL-VLOOKUP函数使用
  12. 调度指挥系统解决方案
  13. eclipse 连 mysql 数据库 jdbc下载
  14. 计算机主板不认硬盘怎么回事,主板sata接口不认硬盘怎么办
  15. Linux-脚本、tailf
  16. c语言中整型实型是什么,C语言中为何整型变量以实型变量输出为0?
  17. 移动办公系统 服务器地址,移动办公怎么设置服务器地址
  18. 你知道台湾Android开发面試題是什么样的吗(附答案解析)
  19. golang做php的中间件,Golang 之 中间件
  20. OSChina 周日乱弹——如何请假不被老板骂

热门文章

  1. jquery 删除字符串最后一个字符的方法
  2. oracle易忘函数用法(5)
  3. SEO关键之密:自己创造一个关键词!
  4. Python编程:制作电子相册
  5. python算法与数据结构-数据结构中二叉树的介绍
  6. 018:Django商城部署和数据库读写分离
  7. Python实现鸢尾花数据集分类问题——基于skearn的SVM(有详细注释的)
  8. mysql中insert into select from的使用
  9. PHP算法按数组某一字段进行排序
  10. swiper用loop不出图片_swiper实现双向控制