问题标签 [parquet]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
13116 浏览

sql - 如何将 spark SchemaRDD 转换为我的案例类的 RDD?

在 spark 文档中,很清楚如何从RDD您自己的案例类中创建镶木地板文件;(来自文档)

但不清楚如何转换回来,真的我们想要一个readParquetFile我们可以做的方法:

定义案例类的那些值是由方法读取的值。

0 投票
1 回答
3252 浏览

hadoop - Spark SQL 无法完成写入具有大量分片的 Parquet 数据

我正在尝试使用 Apache Spark SQL 将 S3 中的 json 日志数据记录到 S3 上的 Parquet 文件中。我的代码基本上是:

当我有多达 2000 个分区并且失败 5000 或更多时,无论数据量如何,此代码都有效。通常可以将分区合并到一个可接受的数字,但这是一个非常大的数据集,在 2000 个分区时,我遇到了这个问题中描述的问题

我在 ec2 的 R3.xlarge 上的 spark-1.1.0 上运行它。我正在使用 spark-shell 控制台运行上述代码。之后我可以对dataSchemaRDD 对象执行非平凡的查询,因此它似乎不是资源问题。也可以读取和查询生成的 Parquet 文件,由于缺少摘要文件,它只需要很长时间。

0 投票
3 回答
16851 浏览

amazon-s3 - 将 5G 文件上传到 Amazon S3 时出现 EntityTooLarge 错误

根据此公告,Amazon S3 文件大小限制应为 5T,但上传 5G 文件时出现以下错误

这使得 S3 似乎只接受 5G 上传。我正在使用 Apache Spark SQL 使用SchemRDD.saveAsParquetFile方法写出 Parquet 数据集。完整的堆栈跟踪是

上传限制还是5T吗?如果是我收到此错误的原因,我该如何解决?

0 投票
0 回答
888 浏览

apache-spark - 使用 Spark SQL 将重新分区的 SchemaRDD 写入 Parquet 时出错

我正在尝试将保存 Spark SQL 表写入 Parquet 文件。由于其他 问题,我需要在写入之前减少分区数量。我的代码是

这抛出

如果我取出合并步骤并更改要使用shuffle=true或使用的代码会repartition引发相同的错误,则代码可以正常工作。我正在使用 spark-1.1.0。

0 投票
1 回答
2272 浏览

amazon-s3 - 在 S3 上以 Parquet 格式保存 >>25T SchemaRDD

在尝试在 S3 上以 Parquet 格式保存非常大的 SchemaRDD 时,我遇到了许多问题。我已经针对这些问题发布了具体问题,但这是我真正需要做的。代码应该看起来像这样

如果我有超过 2000 个分区或分区大于 5G,我会遇到问题。这为我可以通过这种方式处理的最大 SchemaRDD 设置了一个上限。实际限制更接近 1T,因为分区大小差异很大,您只需要 1 个 5G 分区即可让进程失败。

处理我遇到的具体问题的问题是

这个问题是看是否有任何解决主要目标的方法,不一定涉及直接解决上述问题之一。


提炼事情有两个问题

  • 将大于 5G 的单个分片写入 S3 失败。AFAIK 这是一个内置的s3n://桶限制。存储桶应该是可能的,s3://但似乎在 Spark 中不起作用,并且hadoop distcp本地 HDFS 也无法做到。

  • 一旦有 1000 个分片,写入摘要文件往往会失败。这似乎有多个问题。直接写入 S3 会产生上述链接问题中的错误。直接写入本地 HDFS 会产生 OOM 错误,即使在 r3.8xlarge(244G 内存)上,当大约有 5000 个分片时也是如此。这似乎与实际数据量无关。摘要文件似乎对于高效查询至关重要。

这些问题加在一起将 S3 上的 Parquet 表限制为 25T。在实践中,它实际上要小得多,因为分片大小在一个 RDD 内变化很大,并且 5G 限制适用于最大的分片。

如何将 >>25T RDD 作为 Parquet 写入 S3?

我正在使用 Spark-1.1.0。

0 投票
1 回答
7866 浏览

parquet - 创建镶木地板文件时如何避免创建 .crc 文件

我正在使用 parquet 框架来编写 parquet 文件。我用这个构造函数创建了镶木地板作家——

每次创建 parquet 文件时,也会在磁盘上创建一个与其对应的 .crc 文件。如何避免创建该 .crc 文件?有没有我必须设置的标志或其他东西?

谢谢

0 投票
1 回答
102 浏览

parquet - 列级压缩规范

在 parquet-mr 中,目前我们可以指定默认情况下应用于所有列的压缩。将来,当支持指定特定于单个列的压缩时,是否仍支持当前对“默认压缩”的支持,还是会被弃用?

谢谢,拉维C

0 投票
1 回答
9942 浏览

text-files - Impala - 将现有表格转换为镶木地板格式

我有一个有分区的表,我使用 avro 文件或文本文件来创建并插入到表中。

一旦桌子完成,有没有办法转换成镶木地板。我的意思是我知道我们CREATE TABLE default.test( name_id STRING) PARTITIONED BY ( year INT, month INT, day INT ) STORED AS PARQUET最初可以在创建表本身时说。
在我的用例中,我最初必须使用文本文件。这是因为我想避免每次插入或更新时在分区文件夹中创建多个文件。我的表有大量的插入和更新,这导致性能下降。在创建表并插入数据后,有没有办法可以转换为镶木地板?

0 投票
1 回答
2008 浏览

mapreduce - 使用 Parquet Fileformat 为模式数据创建 Hive (0.10) 表

我想将数据从服务器导出到配置单元。我有一个 Java 类形式的 3 级嵌套数据。我成功地使用 Avro Tools ReflectData 创建了一个 avro 模式,并使用 ReflectDatumWriter 在 avro 文件中写出数据。在 Hive 中,我能够创建一个表并使用

我可以看到有办法以镶木地板格式导出相同的数据 http://blog.cloudera.com/blog/2014/05/how-to-convert-existing-data-into-parquet/

假设我完成了这项工作并在镶木地板文件中拥有相同的数据。如何在 Hive 中查询此导出镶木地板数据?但是我如何指定 hive 的架构?我不想用整个嵌套模式在 hive 中编写一个巨大的 create table 语句。如何为架构中的某些成员指定空值?我有一种方法可以直接创建像 avro 模式这样的镶木地板模式并使用 create table 语句提供给 Hive 吗?

0 投票
2 回答
1038 浏览

hadoop - 无法使用 ParquetStorer 存储整数数据

我面临着非常奇怪的问题。我使用 Pig 进行多列数据处理。Pig 使用 HCatalogLoader 在 pig 脚本中加载数据。这些列包含多个整数数据、字符串数据以及双精度数据。整数类型的列之一(例如 C1)无法使用 ParquetStorer 存储。其他整数列没有问题,只有C1列存储失败。

以下是错误:

我已经描述了使用 ParquetStorer 存储数据的别名,列 C1 是 int 类型。ParquetStorer 仍然抱怨数据是字符串类型,并且无法将其类型转换为数字。

任何帮助表示赞赏。