问题标签 [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.
hadoop - Parquet API 没有 Keys 的概念?
好的,所以在收到关于无法通过 spark 将密钥写入镶木地板文件的异常后,我查看了 API,只发现了这个。
(我的假设可能是错误的 =D,并且某处可能还有另一个 API。)
好的,这有点扭曲的意义,毕竟您可以在数据从容器文件中具体化时投影/限制数据。但是,为了安全起见。Parquet 文件没有序列文件的“键”值的概念,对吧?
我觉得这有点奇怪,Hadoop 基础架构是围绕一个序列文件可能有一个密钥这一事实而构建的。而且我假设这个密钥被自由地用于将数据划分为局部块(不是在 HDFS 级别 ofc)?Spark 有很多 API 调用可以与代码一起使用来进行归约和连接等。现在我必须做额外的步骤来将键从物化对象的主体中映射出来。诡异的。
那么,为什么钥匙不是镶木地板世界的一等公民有什么充分的理由呢?
json - 将 JSON 对象文件转换为 Parquet 文件
动机:我想将数据加载到 Apache Drill。我知道 Drill 可以处理 JSON 输入,但我想看看它在 Parquet 数据上的表现。
有什么方法可以做到这一点,而无需先将数据加载到 Hive 等中,然后使用其中一个 Parquet 连接器生成输出文件?
java - Parquet Avro Projected Materialization 示例(显示 1-* 嵌套投影)
如何从 avro(或其他)编码的 parquet 文件中具体化模式的子集?(没有太多可用的文档)
现在查看源代码,我可能会回答我自己的问题:D
编辑:据此
似乎我需要创建一个 Avro 类,其中包含字段的子集(或子类或其他东西)以及相应的对象来去实体化。令人费解。
在我开始试验之前,我会坚持将所有 10 场数据非物质化:D 如果有人想回答这个问题(用一个充实的例子),请继续。
scala - 使用 Scalavro 和 Parquet-avro 编写 Parquet 文件
我需要以 parquet 文件格式编写一个文件,以便在使用 spark 后读取。我将 scala 与 Scalavro 和 Parquet-avro 一起使用。
在我的测试中,我编写了一个 avro 格式的文件并且工作正常:
如何更改此代码以以镶木地板格式写入?
谢谢你
java - 镶木地板格式的 Mapreduce 错误
我正在尝试运行mapreduce
工作。我的文件是parquet
格式的。
我收到以下错误:
我尝试添加包含TException
with的 jar,--libjars my_path/libthrift-0.9.0.jar
但仍然出现相同的错误。
hadoop - 如何将数据插入 Hive 中的 Parquet 表
我有以下格式的简单文本表(由“,”分隔):
我想将此数据插入 Parquet 表:我使用以下方法创建了表:
但是当我尝试使用插入数据时
它失败。有什么想法吗?
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 格式的最佳且简单的方法是什么?
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 类中都不存在:
但由于这是猪自己的中间输出,我不太明白它可能出错的地方。我的自定义 UDF 都返回一个有效类型,我希望 Pig 肯定只使用它知道的类型进行存储。
任何帮助将不胜感激。
hadoop - 从基于 JSON Serde 的 Hive 表将数据加载到 Parquet 表中的问题
我有一个HIVE
使用JSON Serde
. 我正在使用Shark
发行版(http://shark.cs.berkeley.edu/)。定义如下:
我能够成功地将数据加载到该表中。现在,我Parquet
在HIVE
.
现在,我尝试使用以下命令将表中的数据加载到JSON Serde
表中:Parquet
insert
语句成功完成。但是当我查询Parquet
表中的数据时,所有列都填充了NULL
值。我在网上搜索了类似的问题,但还没有看到类似的东西。有人对这里出了什么问题有一些想法吗?
谢谢,维沙赫
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 吗?以后可以用吗?
谢谢 !