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

hadoop - Parquet API 没有 Keys 的概念?

好的,所以在收到关于无法通过 spark 将密钥写入镶木地板文件的异常后,我查看了 API,只发现了这个。

(我的假设可能是错误的 =D,并且某处可能还有另一个 API。)

好的,这有点扭曲的意义,毕竟您可以在数据从容器文件中具体化时投影/限制数据。但是,为了安全起见。Parquet 文件没有序列文件的“键”值的概念,对吧?

我觉得这有点奇怪,Hadoop 基础架构是围绕一个序列文件可能有一个密钥这一事实而构建的。而且我假设这个密钥被自由地用于将数据划分为局部块(不是在 HDFS 级别 ofc)?Spark 有很多 API 调用可以与代码一起使用来进行归约和连接等。现在我必须做额外的步骤来将键从物化对象的主体中映射出来。诡异的。

那么,为什么钥匙不是镶木地板世界的一等公民有什么充分的理由呢?

0 投票
3 回答
11945 浏览

json - 将 JSON 对象文件转换为 Parquet 文件

动机:我想将数据加载到 Apache Drill。我知道 Drill 可以处理 JSON 输入,但我想看看它在 Parquet 数据上的表现。

有什么方法可以做到这一点,而无需先将数据加载到 Hive 等中,然后使用其中一个 Parquet 连接器生成输出文件?

0 投票
0 回答
592 浏览

java - Parquet Avro Projected Materialization 示例(显示 1-* 嵌套投影)

如何从 avro(或其他)编码的 parquet 文件中具体化模式的子集?(没有太多可用的文档)

现在查看源代码,我可能会回答我自己的问题:D

编辑:据此

似乎我需要创建一个 Avro 类,其中包含字段的子集(或子类或其他东西)以及相应的对象来去实体化。令人费解。

在我开始试验之前,我会坚持将所有 10 场数据非物质化:D 如果有人想回答这个问题(用一个充实的例子),请继续。

0 投票
0 回答
1112 浏览

scala - 使用 Scalavro 和 Parquet-avro 编写 Parquet 文件

我需要以 parquet 文件格式编写一个文件,以便在使用 spark 后读取。我将 scala 与 Scalavro 和 Parquet-avro 一起使用。

在我的测试中,我编写了一个 avro 格式的文件并且工作正常:

如何更改此代码以以镶木地板格式写入?

谢谢你

0 投票
1 回答
1816 浏览

java - 镶木地板格式的 Mapreduce 错误

我正在尝试运行mapreduce工作。我的文件是parquet格式的。

我收到以下错误:

我尝试添加包含TExceptionwith的 jar,--libjars my_path/libthrift-0.9.0.jar但仍然出现相同的错误。

0 投票
5 回答
28661 浏览

hadoop - 如何将数据插入 Hive 中的 Parquet 表

我有以下格式的简单文本表(由“,”分隔):

我想将此数据插入 Parquet 表:我使用以下方法创建了表:

但是当我尝试使用插入数据时

它失败。有什么想法吗?

0 投票
3 回答
5748 浏览

apache-pig - 将 Avro 转换为 Parquet 格式

我想从数据库中导出数据并转换为 Avro + Parquet 格式。Sqoop 支持 Avro 导出,但不支持 Parquet。我尝试使用 Apache Pig、Apache Crunch 等将 Avro 对象转换为 Parquet,但没有任何效果。

Apache pig 给了我“原因:org.apache.hadoop.mapreduce.lib.input.InvalidInputException:输入路径不存在”。但是输入路径存在于该位置。

Apache Crunch 总是抛出:java.lang.ClassNotFoundException: Class org.apache.crunch.impl.mr.run.CrunchMapper not found”,尽管我将它添加到了 Hadoop 库路径中。

将数据从 DB 导出为 Parquet 格式的最佳且简单的方法是什么?

0 投票
1 回答
932 浏览

hadoop - Pig 无法读取自己的中间数据

首先,我正在根据集群运行 Apache Pig 版本 0.11.0-cdh4.3.0(重新导出)。但是,我的构建使用 0.11.0-cdh4.5.0 我知道这不是一个明智的决定,但我认为这与我在这里遇到的问题无关,因为它都是 Pig v0.11.0

我有一个结构看起来像这样的脚本(两个自定义 udf 都返回 DataByteArray 类型,这是一个有效的 Pig 类型 afaik):

Pig 将其拆分为两个 mapreduce 作业。我不确定 CubeDimensions 是发生在第一个还是第二个,但我怀疑它发生在第一个工作的 reduce 阶段。

所以第二个工作的映射阶段只不过是读取中间数据,这就是发生这种情况的地方:

“在流中发现意外的数据类型 49。” @ org.apache.pig.data.BinInterSedes:422

我已经看到数字是 48 和 49 并且在 BinInterSedes 类中都不存在:

http://grepcode.com/file/repository.cloudera.com/content/repositories/releases/org.apache.pig/pig/0.11.0-cdh4.3.0/org/apache/pig/data/BinInterSedes.java? av=f

但由于这是猪自己的中间输出,我不太明白它可能出错的地方。我的自定义 UDF 都返回一个有效类型,我希望 Pig 肯定只使用它知道的类型进行存储。

任何帮助将不胜感激。

0 投票
0 回答
1128 浏览

hadoop - 从基于 JSON Serde 的 Hive 表将数据加载到 Parquet 表中的问题

我有一个HIVE使用JSON Serde. 我正在使用Shark发行版(http://shark.cs.berkeley.edu/)。定义如下:

我能够成功地将数据加载到该表中。现在,我ParquetHIVE.

现在,我尝试使用以下命令将表中的数据加载到JSON Serde表中:Parquet

insert语句成功完成。但是当我查询Parquet表中的数据时,所有列都填充了NULL值。我在网上搜索了类似的问题,但还没有看到类似的东西。有人对这里出了什么问题有一些想法吗?

谢谢,维沙赫

0 投票
0 回答
196 浏览

hadoop - 处理许多对象的最佳方法?

我想存储许多对象,然后再处理它们。(用数据做统计)

现在,我做了什么:

  • 我已经用 Thrift 序列化了每个文件一个对象。(1 个节俭对象 = 1 个二进制文件)

  • 我还将节俭对象转换为 Parquet 文件。(我很惊讶,因为我的 thrift 二进制文件大约为 1 KB,而 parquet 文件为相同的数据做了 140 KB!)

那么,对你来说,最好的方法是什么?

1) 将 Parquet 文件与 Impala 一起使用?

2) 将 Thrift 文件与 ..I don't know.. 一起使用?(以及如何序列化同一个文件中的许多对象以获得更大的文件,我读取文件必须非常大才能有效)

3) 猪?蜂巢?和 .. ?

4) ... ?

我想使用 HDFS 来存储我的文件。

我使用 Ruby 创建 Thrift 文件,并使用 Java 将其转换为 Parquet 文件。

必须使用 MapReduce 吗?以后可以用吗?

谢谢 !