问题标签 [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 投票
0 回答
1690 浏览

amazon-web-services - 读取 Parquet 文件时由什么控制分区数?

我的设置:

两个 Spark 集群。一个在 EC2 上,一个在 Amazon EMR 上。两者都使用 Spark 1.3.1。

EMR 集群是使用emr-bootstrap-actions安装的。EC2 集群是使用 Spark 的默认 EC2 脚本安装的。

编码:

读取包含 12 个 Parquet 文件的文件夹并计算分区数

观察:

  • 在 EC2 上,这段代码给了我 12 个分区(每个文件一个,有意义)。
  • 在 EMR 上,这段代码给了我 138 (!) 个分区。

问题:

读取 Parquet 文件时由什么控制分区数?

我在 S3 上阅读了完全相同的文件夹,具有完全相同的 Spark 版本。这让我相信可能有一些配置设置可以控制分区的发生方式。有没有人有这方面的更多信息?

见解将不胜感激。

谢谢。

更新:

似乎许多分区是由 EMR 的 S3 文件系统实现(com.amazon.ws.emr.hadoop.fs.EmrFileSystem)创建的。

拆除时

core-site.xml(因此恢复到 Hadoop 的 S3 文件系统),我最终得到了 12 个分区。

运行时EmrFileSystem,似乎可以通过以下方式控制分区数:

使用时是否有一种更简洁的方法来控制分区数EmrFileSystem

0 投票
1 回答
3345 浏览

hadoop - 使用模式文件创建 Parquet 支持的 Hive 表

Cloudera文档显示了一种“使用 Avro 模式文件创建 Avro 支持的 Hive 表”的简单方法。这很好用。我想为 Parquet 支持的 Hive 表做同样的事情,但在这种情况下,相关文档列出了每个列类型,而不是从模式中读取。是否可以像 Avro 数据一样从模式中读取 Parquet 列?

0 投票
2 回答
5578 浏览

amazon-s3 - 将数据增量添加到 S3 中的 Parquet 表中

我想将我的日志数据副本保留在 S3 上的 Parquet 中以进行临时分析。SQLContext.parquetFile()我主要通过 Spark 使用 Parquet,它似乎只提供通过and读写整个表的操作SQLContext.saveAsParquetFile()

有什么方法可以在不编写全新副本的情况下将数据添加到现有 Parquet 表中,特别是当它存储在 S3 中时?

我知道我可以为更新创建单独的表,并且在 Spark 中我可以在查询时在 Spark 中形成对应数据帧的联合,但我对它的可扩展性表示怀疑。

如果需要,我可以使用 Spark 以外的其他东西。

0 投票
1 回答
1640 浏览

amazon-s3 - Impala 访问 S3 中现有的 Parquet 表

我有一些 Parquet 表是使用存储在 S3 中的 SparkSQL 创建的。我也希望能够从 Impala 使用它们。我还有一个在 CDH5 上运行的 Impala 实例,我可以使用 Hue 访问它。

我需要做什么才能从这个 Impala 实例中查询上述数据?

Impala Parquet 文档似乎主要是关于将数据导入 Parquet。我已经拥有 Parquet 中的数据,我只想将 Impala 指向它。我是 Impala 和 Hue 的新手,我使用 Parquet 的经验来自 SparkSQL。

0 投票
2 回答
9296 浏览

scala - 将 RDD 分区写入其自己目录中的各个 parquet 文件

我正在努力解决我想将每个 RDD 分区编写为将镶木地板文件与它自己的目录分开的步骤。示例将是:

这种格式的优点是我可以直接在 SparkSQL 中将其用作列,而不必在实际文件中重复这些数据。这将是访问特定分区而不在其他地方存储单独的分区元数据的好方法。

作为前面的步骤,我从大量 gzip 文件中加载了所有数据,并根据上述密钥进行了分区。

可能的方法是将每个分区作为单独的 RDD,然后编写它,尽管我找不到任何好的方法。

任何帮助将不胜感激。顺便说一句,我是这个堆栈的新手。

0 投票
2 回答
1076 浏览

sql - Scala:Spark sqlContext 查询

我的文件中只有 3 个事件(第 3 列)01、02、03。

架构是 unixTimestamp|id|eventType|date1|date2|date3

在 sqlContext 中,如何按 ID 合并数据?我期待这个 id 1001:

这是我需要调整的查询:

0 投票
9 回答
42178 浏览

r - 如何在 R 中读取 Parquet 并将其转换为 R DataFrame?

我想用 R 编程语言处理Apache Parquet文件(在我的例子中,在 Spark 中生成)。

有 R 阅读器吗?或者正在做一个工作?

如果没有,到达那里最方便的方法是什么?注意:有 Java 和 C++ 绑定:https ://github.com/apache/parquet-mr

0 投票
4 回答
47681 浏览

apache-spark - 在 Spark 中同时读取几个 parquet 文件

我可以使用 *(星号)同时读取几个 json 文件:

有没有办法为镶木地板做同样的事情?星不工作。

0 投票
1 回答
365 浏览

json - 具有不同字段的 json 文件中的 Json 到 Avro 转换

在我将JSON文件转换为avro format. 但在这种情况下,JSON数据具有不同的字段值,例如:

我有一个工作代码来转换每个条目中的字段保持不变的文件。但是avro作为一种模式定义语言不能支持上述数据(具有不同的字段)。

我有一个基本问题,在这种情况下是否甚至可以使用模式并将其转换为 avro 格式?或者有没有其他工具可以用来完成这个任务?

0 投票
1 回答
1239 浏览

apache-pig - Parquetloader:无法使用 pig 加载多个 parquet 文件

我收到以下错误:解析期间出错。重复约束更具限制性:不能将所需的二进制 MyTime 类型合并为可选的二进制 MyTime。也许其中一个文件已损坏,但我不知道如何跳过它。

谢谢