问题标签 [parquet-mr]
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.
python-2.7 - PySpark 使用统计信息写入 Parquet 二进制列 (signed-min-max.enabled)
我发现这张 apache-parquet 票https://issues.apache.org/jira/browse/PARQUET-686被标记为parquet-mr
1.8.2 已解决。我想要的功能是在(或) 列min/max
的镶木地板元数据中计算的。string
BINARY
并引用这是一封电子邮件https://lists.apache.org/thread.html/%3CCANPCBc2UPm+oZFfP9oT8gPKh_v0_BF0jVEuf=Q3d-5=ugxSFbQ@mail.gmail.com%3E
使用scala
而不是pyspark
作为示例:
我一直无法设置这个值pyspark
(也许我把它设置在错误的地方?)
示例数据框
我尝试了几种不同的方法来设置此选项:
但是所有保存的 parquet 文件都缺少 BINARY 列的 ST/STATS。以下是其中一个 parquet 文件的元数据示例输出:
此外,基于此电子邮件链https://mail-archives.apache.org/mod_mbox/spark-user/201410.mbox/%3C9DEF4C39-DFC2-411B-8987-5B9C33842974@videoamp.com%3E和问题:Specify Parquet属性 pyspark
我尝试通过 pyspark 私有 API 潜入配置:
所以我仍然无法设置这个conf parquet.strings.signed-min-max.enabled
(parquet-mr
或者它被设置了,但其他地方出了问题)
- 是否可以
parquet-mr
从 pyspark进行配置 - pyspark 2.3.x 是否支持 BINARY 列统计信息?
- 如何利用 PARQUET-686 功能为
min/max
parquet 文件中的字符串列添加元数据?
java - 安装镶木地板工具
我正在尝试在 FreeBSD 机器上安装镶木地板工具。
我克隆了这个仓库:git clone https://github.com/apache/parquet-mr
然后我做了cd parquet-mr/parquet-tools
然后我做了`mvn clean package -Plocal
如此处指定:https ://github.com/apache/parquet-mr/tree/master/parquet-tools
这就是我得到的:
为什么这里会出现这个依赖错误?我该如何解决?
maven - 对 hdfs 中的文件使用镶木地板工具
我下载并构建了https://github.com/apache/parquet-mr的 parquet-1.5.0 。
我现在想在 hdfs 中的镶木地板文件上运行一些命令。我试过这个:
我得到了:
错误:无法找到或加载主类 parquet.tools.Main
hadoop - hdfs中文件的行组大小如何设置?
我正在对 hdfs 中的块大小 (dfs.block.size) 和行组大小 (parquet.block.size) 进行一些实验。
我在 hdfs 中有大量数据,我想复制具有各种块大小和行组大小的数据以进行测试。我可以使用以下方法复制具有不同块大小的数据:
但只有 dfs.block.size 被改变。我正在验证hdfs dfs -stat
块大小和parquet-tools meta
行组大小。事实上,如果我用它替换parquet.block.size
它blah.blah.blah
也有同样的效果。我什至进入 spark-shell 并parquet.block.size
使用手动设置属性
我正在使用 hadoop 3.1.0。我parquet.block.size
从这里得到了属性名称。
这是我尝试输出的前 10 行
如您所见,TS(总大小)远大于 64MB(67108864 字节)
我目前的理论:
我在 spark-shell 中这样做:
所以也许是因为我的输入数据已经有 1034 个分区。我真的不确定。我的数据每行大约有 118 列。
apache-spark - 无法使用 where 子句过滤镶木地板文件....错误“不安全符号不稳定”
我无法提供镶木地板文件。
我有字符串的“family_id”和日期类型的“lastStagedTs”的数据框。即格式为 2018-11-30。
我正在尝试过滤如下所示的镶木地板文件,即选择大于 2018-11-23 的数据
当我在代码行上方运行时,出现以下错误:
scala - 使用 AvroParquetWriter 将接收器连接到镶木地板文件未将数据写入文件
我正在尝试使用 AvroParquetWriter 将镶木地板文件编写为接收器。该文件已创建但长度为 0(未写入数据)。难道我做错了什么 ?无法弄清楚是什么问题
hadoop - 如何在 Java/Scala 中将 parquet 模式转换为 avro
假设我在文件系统上有镶木地板文件。如何获取 parquet 架构并将其转换为 Avro 架构?
parquet - Parquet-mr java 库的文档
我需要使用 Parquet-mr 库在 Java 中以编程方式读取 Parquet 文件。我需要选择性地阅读几列并跳过其他列(例如,从 500 列中读取 3 列)。我似乎找不到任何关于如何做到这一点的文档。如果有的话,有人可以指点我吗?
java - 如何使用 parquet-mr 查询 parquet 文件?
我有一个存储在 AWS S3 中的镶木地板文件,我想查询它。我想检索某行数据,因为它等于一个值。几乎就像我在 SQL 中所做的那样:
SELECT * FROM file.parquet WHERE id = '1234';
我正在使用parquet-mr
直接从 S3 将其加载到内存中并读取它并设置它AvroParquetReader
以读取行。
我已经将每一行复制到一个 Map 中以便于查询,但是有没有更好的方法来做到这一点?的文档parquet-mr
不是很好,大多数教程都使用不推荐使用的方法。
这是我所拥有的一些示例代码:
您可以使用reader.read()
来获取文件中的下一行(这是我用来将其放入 a 的内容HashMap
,但我找不到任何parquet-mr
允许您在不将整个文件加载到内存的情况下查询文件的方法.
parquet-mr - java.lang.ClassCastException:可选的 int32 计数不是一个组
我想查看parquet
文件的内容。我运行了以下命令,但出现错误java.lang.ClassCastException: optional int32 count is not a group
。
manu@manu-VirtualBox:~/parquet-mr/parquet-tools/target$ java -jar parquet-tools-1.12.0-SNAPSHOT.jar cat ~/test/part-00000-3d55da69-71e8-462f-a478-68363b7af1a1-c000.snappy.parquet
可能是什么问题?