问题标签 [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.
sql - 如何将 spark SchemaRDD 转换为我的案例类的 RDD?
在 spark 文档中,很清楚如何从RDD
您自己的案例类中创建镶木地板文件;(来自文档)
但不清楚如何转换回来,真的我们想要一个readParquetFile
我们可以做的方法:
定义案例类的那些值是由方法读取的值。
hadoop - Spark SQL 无法完成写入具有大量分片的 Parquet 数据
我正在尝试使用 Apache Spark SQL 将 S3 中的 json 日志数据记录到 S3 上的 Parquet 文件中。我的代码基本上是:
当我有多达 2000 个分区并且失败 5000 或更多时,无论数据量如何,此代码都有效。通常可以将分区合并到一个可接受的数字,但这是一个非常大的数据集,在 2000 个分区时,我遇到了这个问题中描述的问题
我在 ec2 的 R3.xlarge 上的 spark-1.1.0 上运行它。我正在使用 spark-shell 控制台运行上述代码。之后我可以对data
SchemaRDD 对象执行非平凡的查询,因此它似乎不是资源问题。也可以读取和查询生成的 Parquet 文件,由于缺少摘要文件,它只需要很长时间。
amazon-s3 - 将 5G 文件上传到 Amazon S3 时出现 EntityTooLarge 错误
根据此公告,Amazon S3 文件大小限制应为 5T,但上传 5G 文件时出现以下错误
这使得 S3 似乎只接受 5G 上传。我正在使用 Apache Spark SQL 使用SchemRDD.saveAsParquetFile
方法写出 Parquet 数据集。完整的堆栈跟踪是
上传限制还是5T吗?如果是我收到此错误的原因,我该如何解决?
amazon-s3 - 在 S3 上以 Parquet 格式保存 >>25T SchemaRDD
在尝试在 S3 上以 Parquet 格式保存非常大的 SchemaRDD 时,我遇到了许多问题。我已经针对这些问题发布了具体问题,但这是我真正需要做的。代码应该看起来像这样
如果我有超过 2000 个分区或分区大于 5G,我会遇到问题。这为我可以通过这种方式处理的最大 SchemaRDD 设置了一个上限。实际限制更接近 1T,因为分区大小差异很大,您只需要 1 个 5G 分区即可让进程失败。
处理我遇到的具体问题的问题是
- 从 Apache Spark 分段上传到 Amazon S3
- 使用 Spark SQL 将重新分区的 SchemaRDD 写入 Parquet 时出错
- Spark SQL 无法完成写入具有大量分片的 Parquet 数据
这个问题是看是否有任何解决主要目标的方法,不一定涉及直接解决上述问题之一。
提炼事情有两个问题
将大于 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。
parquet - 创建镶木地板文件时如何避免创建 .crc 文件
我正在使用 parquet 框架来编写 parquet 文件。我用这个构造函数创建了镶木地板作家——
每次创建 parquet 文件时,也会在磁盘上创建一个与其对应的 .crc 文件。如何避免创建该 .crc 文件?有没有我必须设置的标志或其他东西?
谢谢
parquet - 列级压缩规范
在 parquet-mr 中,目前我们可以指定默认情况下应用于所有列的压缩。将来,当支持指定特定于单个列的压缩时,是否仍支持当前对“默认压缩”的支持,还是会被弃用?
谢谢,拉维C
text-files - Impala - 将现有表格转换为镶木地板格式
我有一个有分区的表,我使用 avro 文件或文本文件来创建并插入到表中。
一旦桌子完成,有没有办法转换成镶木地板。我的意思是我知道我们CREATE TABLE default.test( name_id STRING)
PARTITIONED BY ( year INT, month INT, day INT ) STORED AS PARQUET
最初可以在创建表本身时说。
在我的用例中,我最初必须使用文本文件。这是因为我想避免每次插入或更新时在分区文件夹中创建多个文件。我的表有大量的插入和更新,这导致性能下降。在创建表并插入数据后,有没有办法可以转换为镶木地板?
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 吗?
hadoop - 无法使用 ParquetStorer 存储整数数据
我面临着非常奇怪的问题。我使用 Pig 进行多列数据处理。Pig 使用 HCatalogLoader 在 pig 脚本中加载数据。这些列包含多个整数数据、字符串数据以及双精度数据。整数类型的列之一(例如 C1)无法使用 ParquetStorer 存储。其他整数列没有问题,只有C1列存储失败。
以下是错误:
我已经描述了使用 ParquetStorer 存储数据的别名,列 C1 是 int 类型。ParquetStorer 仍然抱怨数据是字符串类型,并且无法将其类型转换为数字。
任何帮助表示赞赏。