SparkSQL读写外部数据源-jext文件和table数据源的读写
object ParquetFileTest {
  def main(args: Array[String]): Unit = {
    val spark = SparkSession
      .builder()
      .appName("ParquetFileTest")
      .getOrCreate()
    //1: 将json文件数据转化成parquet文件数据
    val df = spark.read.json(s"${BASE_PATH}/people.json")
    df.show()
    //gzip、lzo、snappy
    df.write.option("compression", "snappy").parquet(s"${BASE_PATH}/parquet")
    //2: 读取parquet文件
    val parquetDF = spark.read.parquet(s"${BASE_PATH}/parquet")
    parquetDF.show()
    //3: parquet schema merge
    //全局设置spark.sql.parquet.mergeSchema = true
    df.toDF("age", "first_name").write.parquet(s"${BASE_PATH}/parquet_schema_change")
    val changedDF = spark.read.parquet(s"${BASE_PATH}/parquet_schema_change")
    changedDF.show()
    val schemaMergeDF = spark.read.option("mergeSchema", "true").parquet(s"${BASE_PATH}/parquet",
      s"${BASE_PATH}/parquet_schema_change")
    schemaMergeDF.show()
    spark.stop()
  }
}
object OrcFileTest {
  def main(args: Array[String]): Unit = {
    val spark = SparkSession
      .builder()
      .appName("OrcFileTest")
      .getOrCreate()
    //1: 将json文件数据转化成orc文件数据
    val df = spark.read.json(s"${BASE_PATH}/people.json")
    df.show()
    df.write.option("compression", "snappy").orc(s"${BASE_PATH}/orc")
    val orcFileDF = spark.read.orc(s"${BASE_PATH}/orc")
    orcFileDF.show()
    spark.stop()
  }
}
SparkSQL读写外部数据源-jext文件和table数据源的读写的更多相关文章
- 通过spring抽象路由数据源+MyBatis拦截器实现数据库自动读写分离
		
前言 之前使用的读写分离的方案是在mybatis中配置两个数据源,然后生成两个不同的SqlSessionTemplate然后手动去识别执行sql语句是操作主库还是从库.如下图所示: 好处是,你可以人为 ...
 - 背水一战 Windows 10 (11) - 资源: CustomResource, ResourceDictionary, 加载外部的 ResourceDictionary 文件
		
[源码下载] 背水一战 Windows 10 (11) - 资源: CustomResource, ResourceDictionary, 加载外部的 ResourceDictionary 文件 作者 ...
 - 资源: CustomResource, ResourceDictionary, 加载外部的 ResourceDictionary 文件
		
CustomResource ResourceDictionary 加载外部的 ResourceDictionary 文件 示例1.演示“CustomResource”相关知识点Resource/Cu ...
 - Android 读写SD卡的文件
		
今天介绍一下Android 读写SD卡的文件,要读写SD卡上的文件,首先需要判断是否存在SD卡,方法: Environment.getExternalStorageState().equals(Env ...
 - spring 配置文件  引入外部的property文件的两种方法
		
spring 的配置文件 引入外部的property文件的两种方法 <!-- 引入jdbc配置文件 方法一 --> <bean id="propertyConfig ...
 - python之文件的读写和文件目录以及文件夹的操作实现代码
		
这篇文章主要介绍了python之文件的读写和文件目录以及文件夹的操作实现代码,需要的朋友可以参考下 为了安全起见,最好还是给打开的文件对象指定一个名字,这样在完成操作之后可以迅速关闭文件,防止一些无用 ...
 - 内核驱动程序中如何读写user space的文件,方便调试程序
		
需要在Linux kernel--大多是在需要调试的驱动程序--中读写文件数据.但是在kernel中操作文件没有标准库可用,需要利用kernel的一些函数,这些函数主要有: filp_open() f ...
 - Jmeter中使用外部的java文件
		
感觉在Jmeter中使用外部的Java文件比较方便,语法一样,而且可以直接引用,所以个人觉得这个功能还是蛮重要的,特别是在使用Jmeter的过程中,可能需要结合一定的业务场景进行判断等,那使用Jmet ...
 - Golang的文件处理方式-常见的读写姿势
		
Golang的文件处理方式-常见的读写姿势 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在 Golang 语言中,文件使用指向 os.File 类型的指针来表示的,也叫做文件句柄 ...
 
随机推荐
- 自动化办公:xlsxwriter操作Excel
			
转载原链接:https://www.jianshu.com/p/d685cfaaeef7 1.安装 pip install xlsxwriter 2.操作一个简单的Excel文档 # 引入依赖模块 i ...
 - Navicat 创建oracle表空间、新建用户、授权
			
1.利用数据库管理员账号:SYSTEM,再配合数据库管理口令,连接Oracle数据库. 登录界面: 2.创建表空间文件 进入如下界面 进入如下界面 弹出如下界面,输入表空间名称 最终结果: 2 .新 ...
 - day51——对象、BOM对象、DOM对象
			
day51 JSON对象 var a = {'name':'太白','age':89}; 序列化:var b = JSON.stringify(a); 反序列化:var c = JSON.parse( ...
 - 6. 运行Spark SQL CLI
			
Spark SQL CLI可以很方便的在本地运行Hive元数据服务以及从命令行执行任务查询.需要注意的是,Spark SQL CLI不能与Thrift JDBC服务交互.在Spark目录下执行如下命令 ...
 - 【基本知识】UART接口
			
1.简介 (1)UART一种通用异步串口数据总线,最低采用两路信号(TX/RX)即可实现全双工通信,十分简单: (2)UART采用LSB模式传输,串口数据传输格式如下图所示: 起始位:长度为1位的时间 ...
 - php GD 和图像处理函数, 制作一张图片
			
php GD 和图像处理函数, 制作一张图片 // GD 和图像处理函数 // https://www.php.net/manual/zh/ref.image.php // https://www.p ...
 - 查看Linux服务器配置
			
1.查看CPU lscpu 2.查看内存 free -g 或 free -m 3.查看硬盘 df -h
 - git如何支持doc文档
			
这个问题很容易解决,只要添加一个 .gitattributes 内容如下: ////////////////////////////////////////////////////////////// ...
 - vue-cli输入命令vue ui没效果
			
最近用vue-cli脚手架很顺口,特别是UI控制台,在这里,创建项目和搭建本地环境,连接服务端变得很容易,页面ui也是一流 要怎么启动呢?在终端输入命令行vue ui,启动UI控制台,然后往浏览器输入 ...
 - Mars Sample 使用说明
			
Mars Sample 使用说明 https://github.com/Tencent/mars/wiki/Mars-sample-%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98 ...