parquet

Convert Parquet to CSV

我的未来我决定 提交于 2020-01-01 09:18:52
问题 How to convert Parquet to CSV from a local file system (e.g. python, some library etc.) but WITHOUT Spark? (trying to find as simple and minimalistic solution as possible because need to automate everything and not much resources). I tried with e.g. parquet-tools on my Mac but data output did not look correct. Need to make output so that when data is not present in some columns - CSV will have corresponding NULL (empty column between 2 commas).. Thanks. 回答1: You can do this by using the

PySpark: org.apache.spark.sql.AnalysisException: Attribute name … contains invalid character(s) among “ ,;{}()\n\t=”. Please use alias to rename it [duplicate]

烂漫一生 提交于 2019-12-31 01:55:11
问题 This question already has answers here : Spark Dataframe validating column names for parquet writes (scala) (4 answers) Closed last year . I'm trying to load Parquet data into PySpark , where a column has a space in the name: df = spark.read.parquet('my_parquet_dump') df.select(df['Foo Bar'].alias('foobar')) Even though I have aliased the column, I'm still getting this error and error propagating from the JVM side of PySpark . I've attached the stack trace below. Is there a way I can load

Spark : Read file only if the path exists

大城市里の小女人 提交于 2019-12-30 06:00:53
问题 I am trying to read the files present at Sequence of Paths in scala. Below is the sample (pseudo) code: val paths = Seq[String] //Seq of paths val dataframe = spark.read.parquet(paths: _*) Now, in the above sequence, some paths exist whereas some don't. Is there any way to ignore the missing paths while reading parquet files (to avoid org.apache.spark.sql.AnalysisException: Path does not exist )? I have tried the below and it seems to be working, but then, I end up reading the same path twice

how to read a parquet file, in a standalone java code? [closed]

余生颓废 提交于 2019-12-30 02:52:47
问题 Closed. This question is off-topic. It is not currently accepting answers. Want to improve this question? Update the question so it's on-topic for Stack Overflow. Closed last year . the parquet docs from cloudera shows examples of integration with pig/hive/impala. but in many cases I want to read the parquet file itself for debugging purposes. is there a straightforward java reader api to read a parquet file ? Thanks Yang 回答1: You can use AvroParquetReader from parquet-avro library to read a

深入分析Parquet列式存储格式

拟墨画扇 提交于 2019-12-28 12:54:30
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 原文地址 Parquet是面向分析型业务的列式存储格式,由Twitter和Cloudera合作开发,2015年5月从Apache的孵化器里毕业成为Apache顶级项目,最新的版本是1.8.0。 列式存储 列式存储和行式存储相比有哪些优势呢? 可以跳过不符合条件的数据,只读取需要的数据,降低IO数据量。 压缩编码可以降低磁盘存储空间。由于同一列的数据类型是一样的,可以使用更高效的压缩编码(例如Run Length Encoding和Delta Encoding)进一步节约存储空间。 只读取需要的列,支持向量运算,能够获取更好的扫描性能。 当时Twitter的日增数据量达到压缩之后的100TB+,存储在HDFS上,工程师会使用多种计算框架(例如MapReduce, Hive, Pig等)对这些数据做分析和挖掘;日志结构是复杂的嵌套数据类型,例如一个典型的日志的schema有87列,嵌套了7层。所以需要设计一种列式存储格式,既能支持关系型数据(简单数据类型),又能支持复杂的嵌套类型的数据,同时能够适配多种数据处理框架。 关系型数据的列式存储,可以将每一列的值直接排列下来,不用引入其他的概念,也不会丢失数据。关系型数据的列式存储比较好理解,而嵌套类型数据的列存储则会遇到一些麻烦。如图1所示

深入分析Parquet列式存储格式

北战南征 提交于 2019-12-28 12:49:38
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 深入分析Parquet列式存储格式 作者 梁堰波 发布于 2015年8月7日 | 讨论 分享到: 微博 微信 Facebook Twitter 有道云笔记 邮件分享 稍后阅读 我的阅读清单 Parquet是面向分析型业务的列式存储格式,由Twitter和Cloudera合作开发,2015年5月从Apache的孵化器里毕业成为Apache顶级项目,最新的版本是1.8.0。 列式存储 列式存储和行式存储相比有哪些优势呢? 可以跳过不符合条件的数据,只读取需要的数据,降低IO数据量。 压缩编码可以降低磁盘存储空间。由于同一列的数据类型是一样的,可以使用更高效的压缩编码(例如Run Length Encoding和Delta Encoding)进一步节约存储空间。 只读取需要的列,支持向量运算,能够获取更好的扫描性能。 当时Twitter的日增数据量达到压缩之后的100TB+,存储在HDFS上,工程师会使用多种计算框架(例如MapReduce, Hive, Pig等)对这些数据做分析和挖掘;日志结构是复杂的嵌套数据类型,例如一个典型的日志的schema有87列,嵌套了7层。所以需要设计一种列式存储格 式,既能支持关系型数据(简单数据类型),又能支持复杂的嵌套类型的数据,同时能够适配多种数据处理框架。

Impala 表使用 Parquet 文件格式

心不动则不痛 提交于 2019-12-28 12:49:07
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Impala 表使用 Parquet 文件 格式 Impala 帮助你创建、管理、和查询 Parquet 表。Parquet 是一种面向列的二进制文件格式,设计目标是为 Impala 最擅长的大规模查询类型提供支持(Parquet is a column-oriented binary file format intended to be highly efficient for the types of large-scale queries that Impala is best at)。Parquet 对于查询扫描表中特定的列特别有效,例如查询一个包含许多列的"宽"表,或执行需要处理列中绝大部分或全部的值的如 SUM(),AVG() 等聚合操作(Parquet is especially good for queries scanning particular columns within a table, for example to query "wide" tables with many columns, or to perform aggregation operations such as SUM() and AVG()that need to process most or all of

Parquet_2. 在 Impala/Hive 中使用 Parquet 格式存储数据

夙愿已清 提交于 2019-12-28 12:40:37
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 们已经介绍过在 Hive 中使用 Avro,Parquet 格式来存储数据。今天我们将介绍一下如何在 Impala中使用 Parquet 格式。 1. 跟 Hive 中一样,我们在创建表的时候可以通过 STORED AS PARQUET 语句来指定文件的存储格式。 [sql] view plain copy print ? CREATE TABLE stocks_parquet LIKE stocks STORED AS PARQUET; 2. 我们可以使用 Insert 语句来将一张旧表中的数据拷贝到新的 Parquet 存储格式的表中。 [sql] view plain copy print ? INSERT OVERWRITE TABLE stocks_parquet SELECT * FROM stocks; 3. 检查 Parquet 表的创建: [sql] view plain copy print ? > SHOW TABLE STATS stocks_parquet; Query: show TABLE STATS stocks_parquet +-------+--------+--------+---------+ | #Rows | #Files | Size | Format | +--

parquet介绍

假装没事ソ 提交于 2019-12-28 12:39:04
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Apache Parquet是Hadoop生态系统中任何项目均可使用的 列式存储 格式,而与选择数据处理框架,数据模型或编程语言无关。 parquet文件的优势 可以跳过不符合条件的数据,只读取需要的数据,降低IO数据量。 压缩编码可以降低磁盘存储空间,由于同一列的数据类型是一样 的,可以使用不同的压缩编码。 只读取需要的列,支持向量运算,能够获取更好的扫描 性能。 Parquet适配多种计算框架,查询引擎(Hive、Impala 、pig 、IBMBigSQL等等); 计算框架(MapReduce、Spark、Kite 、Cascading等等);数据模型(Avro、Thrift、 ProtocolBuffers等) 来源: oschina 链接: https://my.oschina.net/u/4427158/blog/3148945

hive 的支持的文件类型与 压缩格式

霸气de小男生 提交于 2019-12-27 18:09:59
MapReduce 的数据压缩 hive 的数据压缩 hive 支持的文件格式 hive日志分析,各种压缩的对比 hive 的函数HQL 查询 一: mapreduce 的压缩 - mapreduce 压缩 主要是在shuffle阶段的优化。 shuffle 端的 --partition (分区) -- sort (排序) -- combine (合并) -- compress (压缩) -- group (分组) 在mapreduce 优化shuffle 从本质上是解决磁盘的IO 与网络IO 问题。 减少 集群件的文件传输处理。 二: hive 的压缩: 压缩的和解压需要cpu的,hive 的常见的压缩格式: bzip2,gzip,lzo,snappy等 cdh 默认采用的压缩是snappy 压缩比:bzip2 > gzip > lzo bzip2 最节省存储空间。 注意: sanppy 的并不是压缩比最好的 解压速度: lzo > gzip > bzip2 lzo 解压速度是最快的。 注意:追求压缩速率最快的sanppy 压缩的和解压需要cpu 损耗比较大。 集群分: cpu 的密集型 (通常是计算型的网络) hadoop 是 磁盘 IO 和 网络IO 的密集型, 网卡的双网卡绑定。 三: hadoop 的检查 是否支持压缩命令 bin/hadoop checknative 3