首页 > TAG信息列表 > Parquet

从外部存储的结构化文件创建DataFrame---常用的一种方式

1. 从txt文件中创建DataFrame 从txt文件中创建DataFrame 如果是从普通的文本文件创建DataFrame 文件中的列和列的分隔符不清楚 所以创建的DataFrame只有一列,一列就是一行数据 val sc = new SparkConf().setMaster("local[2]").setAppName("demo") val sessio

dremio 默认parquet 文件存储的一些定义参数

实际上官方文档对于parquet 的定义已经有一些说明了,以下结合源码验证下 参考配置 参考配置参数sabot/kernel/src/main/java/com/dremio/exec/ExecConstants.java block size 默认是256m   String PARQUET_BLOCK_SIZE = "store.parquet.block-size"; LongValidator

Spark SQL 数据源 parquet文件

scala> val employee = sqlparquet.read.json("employee.json") 这里将txt转化为parquet应该也行 employee: org.apache.spark.sql.DataFrame = [_corrupt_record: string, age: string ... 2 more fields] scala> employee.write.parquet("employee.parquet"

hive存储格式

格式类型 Hive支持的存储数据的格式主要有:TEXTFILE 文本格式文件(行式存储)、 SEQUENCEFILE 二进制序列化文件(行式存储)、ORC(列式存储)、PARQUET(列式存储)等。 hive的存储格式通常是:textfile 、 sequencefile 、 rcfile 、 orc 、自定义 set hive.default.fileformat=TextFile; 默认

Apache Hudi - 2 - 基础功能&特性实践

前言 ​ 本文对Hudi官网提到的部分特性(功能)做了测试,具体的测试数据均由以下代码直接生成: from faker import Faker def fake_data(faker: Faker, row_num: int): file_name = f'/Users/gavin/Desktop/tmp/student_{row_num}_rows.csv' with open(file=file_name, m

ORC、Parquet等列式存储的优点

ORC和Parquet都是高性能的存储方式,这两种存储格式总会带来存储和性能上的提升。 1.Parquet (1)Parquet支持嵌套的数据模型,类似于Protocol Buffers,每一个数据模型的schema包含多个字段,每一个字段有三个属性:重复次数、数据类型和字段名,重复次数可以是以下三种:required(只出现1次),repea

Spark的Parquet向量化读取原理

起因: 测试过程中,发现一个spark的一个参数设置可以带来5倍以上的性能差异 参数: spark.sql.parquet.enableVectorizedReader SQL: SELECT * FROM ad_tetris_dw.ad_insight_record_hourly_test WHERE page_url = "www.chengzijianzhan.com/tetris/page/52202031760/" and date = '20

用 Python 定义 Schema 并生成 Parquet 文件

  原来用 Java 和 Python 实现过 Avro 转换成 Parquet 格式,所以 Schema 都是在 Avro 中定义的。这里要尝试的是如何定义 Parquet 的 Schema, 然后据此填充数据并生成 Parquet 文件。   本文将演示两个例子,一个是没有层级的两个字段,另一个是含于嵌套级别的字段,将要使用到

impala查询报错has an incompatible Parquet schema for column

今天遇到一个很奇怪的错误,在impala中查询数据报错,但是在hive查询却能够返回预期的结果。查阅相关文档发现是由于修改了hive中的表结构导致,Impala对表的列顺序与Parquet文件中列的顺序比较敏感,默认情况下需要确保表列的顺序与Parquet中列顺序一致,如果发生此类错误的话,只需要在impal

pyspark操作hive分区表以及.gz.parquet和part-00000文件压缩问题

@目录pyspark 操作hive表1> saveAsTable写入2> insertInto写入2.1> 问题说明2.2> 解决办法3>saveAsTextFile写入直接操作文件 pyspark 操作hive表 pyspark 操作hive表,hive分区表动态写入;最近发现spark动态写入hive分区,和saveAsTable存表方式相比,文件压缩比大约 4:1。针对该问题

一篇文章搞懂 Apache Kylin 的技术架构

前言 本文隶属于专栏《1000个问题搞定大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和文献引用请见1000个问题搞定大数据技术体系 正文 Apache Kylin 系统可以分为在线查询和离线构建两部分,技术架构如图所示,在线査

impala + kudu | 大数据实时计算踩坑优化指南

一开始需要全量导入kudu,这时候我们先用sqoop把关系数据库数据导入临时表,再用impala从临时表导入kudu目标表 由于sqoop从关系型数据直接以parquet格式导入hive会有问题,这里默认hive的表都是text格式;每次导完到临时表,需要做invalidate metadata 表操作,不然后面直接导入kudu的时候

Hive之文件存储格式

Hive支持的存储数据的格式主要有:TEXTFILE(行式存储) 、SEQUENCEFILE(行式存储)、ORC(列式存储)、PARQUET(列式存储) 1:列式存储和行式存储   上图左边为逻辑表,右边第一个为行式存储,第二个为列式存储。 TEXTFILE和SEQUENCEFILE的存储格式都是基于行存储的。 ORC和PARQUET是基于列式存

spark-shell 启动设置动态分区,snappy压缩、parquet存储以及备份

1、spark-shell 启动设置动态分区 --executor-memory 16G \ --total-executor-cores 10 \ --executor-cores 10 \ --conf "spark.hadoop.hive.exec.dynamic.partition=true" \ --conf "spark.hadoop.hive.exec.dynamic.partition.mode=nonstrict"

spark 写 parquet 文件到 hdfs 上、以及到本地

spark 写 parquet 文件到本地 package SQL import org.apache.spark.SparkContext import org.apache.spark.sql.{DataFrame, SparkSession} object Demo7_2 extends App { val spark: SparkSession = SparkSession.builder().master("local[4]") .appName("dem

实践广告精准投放的bz2数据转parquet文件场景案例

导读Parquet的用途 (1)Parquet就是基于Google的Dremel系统的数据模型和算法实现的,可以跳过不符合条件的数据,只读取需要的数据,降低IO数据量; (2)压缩编码可以降低磁盘存储空间。由于同一列的数据类型是一样的,可以使用更高效的压缩编码(例如Run Length Encoding和Delta Encoding)进一步

使用Sqoop导入导出parquet格式的Hive表

  1、导入 sqoop import \ --connect jdbc:mysql://10.10.0.1:3306/test \ --username root \ --password 123456 \ --table session_detail \ --hive-import \ --hive-overwrite \ --hive-databbase xiet \ --fields-terminated-by '\001' \ --target-dir /

大数据001——数仓搭建相关

一。这里用的是hadoop生态的hive进行存储,首先说hive的表大致分为内部表和外部表,又分为分区表(PARQUET)和桶表。 hive文件存储格式包括以下几类: 1、TEXTFILE 2、SEQUENCEFILE 3、RCFILE 4、ORCFILE(0.11以后出现) 5、PARQUET 总结:相比TEXTFILE和SEQUENCEFILE,RCFILE由于列式存储方

Hadoop支持的文件格式之Parquet

文章目录 0x00 文章内容 0x01 行存储与列存储 1. Avro与Parquet 0x02 编码实现Parquet格式的读写 1. 编码实现读写Parquet文件 2. 查看读写Parquet文件结果 3. 编码实现读写Parquet文件(HDFS) 4. 查看读写Parquet文件(HDFS)结果 0x03 彩蛋 0xFF 总结 0x00 文章内容 行存储与列存

读取parquet文件后和其它表join后回写问题

背景 需要对埋点数据进行增量清洗,增量更新parquet数据文件,步骤如下: 首次清洗历史所有数据 后续每次取增量数据和上次清洗结果做合并 问题 1、如何判断为首次任务,实现方案: 方案1:判断指定目录下是否存在数据文件 方案2:默认按照增量处理,首次不存在数据文件,通过异常捕获机制全量

Hive文件格式(表stored as 的五种类型)

hive文件存储格式包括以下几类: 1、TEXTFILE 2、SEQUENCEFILE 3、RCFILE 4、ORCFILE(0.11以后出现) 5、PARQUET 1、其中TEXTFILE为默认格式,建表时不指定默认为这个格式,导入数据时会直接把数据文件拷贝到hdfs上不进行处理;     SEQUENCEFILE,RCFILE,ORCFILE,PARQUET格式的表

SparkSQL的创建方式

文章目录hive和sparksqlDataFrame基本环境构建读取json格式使用原生的API注册临时表直接写sql非 json 格式的 RDD 创建 DataFrame读取 parquet 文件创建 DataFrame读取 JDBC 中的数据创建 DataFrame(MySql 为例)scala版本scala版本通过反射的方式将非 json 格式的 RDD 转换成 DataF

iceberg文件详解

t20 ├── data │   ├── 00000-0-9c7ff22e-a767-4b85-91ec-a2771e54c209-00001.parquet │   └── 00000-0-ecd3f21c-1bc0-4cdc-8917-d9a1afe7ce55-00001.parquet └── metadata ├── 00000-d864e750-e5e2-4afd-bddb-2fab1e627a21.metadata.json ├── 00001-aabf

Spark的Parquet向量化读取原理

Spark的Parquet向量化读取原理 原文链接:https://www.dazhuanlan.com/2020/01/06/5e12b00b2bcf9/ 测试过程中,发现一个spark的一个参数设置可以带来5倍以上的性能差异 参数: spark.sql.parquet.enableVectorizedReader 一条SQL的运行结果对比: 参数设置为true运行时间22s,设置为f

Apache Iceberg 是如何解决小文件问题的?

在 《一条数据在 Apache Iceberg 之旅:写过程分析》 这篇文章中我们分析了 Apache Iceberg 写数据的源码。如下是我们使用 Spark 写两次数据到 Iceberg 表的数据目录布局(测试代码在 这里[1]):/data/hive/warehouse/default.db/iteblog├── data│ └── ts_year=2020│ ├─