问题标签 [orc]

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 投票
2 回答
8903 浏览

hadoop - Hadoop ORC 文件 - 它是如何工作的 - 如何获取元数据

我是 ORC 文件的新手。我浏览了很多博客,但没有得到清晰的理解。请帮助并澄清以下问题。

  1. 我可以从 ORC 文件中获取架构吗?我知道在 Avro 中,可以获取模式。

  2. 它实际上是如何提供模式演变的?我知道可以添加几列。但是怎么做。我唯一知道的是,创建 orc 文件是将数据加载到以 orc 格式存储数据的 hive 表中。

  3. ORC 文件索引如何工作?我所知道的是每个条带索引都会被维护。但是由于文件未排序,它如何帮助在条纹列表中查找数据。它如何帮助在查找数据时跳过条带?

  4. 是否为每一列维护索引。如果是,那么它不会消耗更多内存吗?

  5. 列格式 ORC 文件如何适合 hive 表,其中每列的值存储在一起。而 hive 表是按记录获取的。两者将如何结合在一起?

0 投票
2 回答
1257 浏览

indexing - ORC 索引如何工作

数据库中索引的工作方式:参考 Xenph Yan 的答案

在表中的字段上创建索引会创建另一个数据结构,该结构包含字段值和指向与其相关的记录的指针。然后对该索引结构进行排序,允许对其执行二进制搜索。

我理解 ORC 索引的方式是,ORC 每 10'000 行(默认情况下)保留有关行的统计信息(最小值、最大值、总和),如果我查询数据,它会查看统计信息以确定是否需要读取行块与否。

那么ORC索引不对数据进行排序是否正确?

我有一个 69 列的大表,其中包含非常非结构化的数据,我希望能够对每一列执行临时查询。为此,我希望能够通过索引(或至少其中大多数)对每一列进行排序。快速查询的数据中没有“关键”列。

0 投票
1 回答
1946 浏览

java - 如何增加 CodedInputStream.setSizeLimit()

我正在尝试使用 Java 读取 ORC 文件

我收到以下错误

com.google.protobuf.InvalidProtocolBufferException:协议消息太大。可能是恶意的。使用 CodedInputStream.setSizeLimit() 增加大小限制。

此问题已在此处为另一个程序解决。https://code.google.com/p/protobufeditor/issues/detail?id=2

但我不确定他们是如何做到的。你能帮我吗?

0 投票
1 回答
3806 浏览

hadoop - ORC Hive 创建表的位置错误

当我尝试创建外部 ORC 表并提供位置时,出现以下错误。该错误似乎与tblproperties. 如果取出tblproperties并运行它,它运行良好。但是,我将不得不使用 alter table 命令将其更新tblproperties为 SNAPPY。有没有人面临类似的问题?我不确定是否打开了 JIRA,如果它的错误在蜂巢中。任何输入表示赞赏。谢谢。

0 投票
1 回答
778 浏览

hadoop - 在 s3n 上查询 Orc 文件非常慢

只要我在 hdfs 上查询我的 ORC 文件,一切都很好而且非常快 - 但是当我想查询存储在 S3 上的数据时,速度非常慢并且查询无法完成。

我正在使用 Hive 0.12 我的创建语句看起来像这样

在我看来,这似乎与 ORC + Presto + S3 存在相同的问题(请参见此处),但我找不到 Hive 的类似问题

0 投票
0 回答
943 浏览

hadoop - 通过 Spark RDD 以 ORC 格式将数据存储在 hive 中

根据我的要求,我想将 hdfs 中的文件存储到 ORC 格式的配置单元表中。我正在使用带有 Hive 0.14.0 版本的 Spark 1.2.1。

我遵循了以下文档 http://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.3.0/bk_spark-quickstart/content/ch_orc-spark-quickstart.html

一切都很顺利..我在 spark shell 中看不到任何异常..

我在 hive 中创建了一个 ORC 表,如下所示。

我可以看到如下列表查询结果..

存储到兽人表中也很好..

我什至可以如下检索兽人表。
val morePeople = hiveContext.orcFile("person_orc_table") morePeople.registerTempTable("morePeople")

但是当我在配置单元上下文中触发查询以显示记录时,我看不到任何记录..

我期待蜂巢表中的数据/记录。但它不在那里,我在这里错过了什么?

0 投票
1 回答
2251 浏览

hadoop - 在java中通过Spark存储orc格式

我正在使用 spark 1.3.1,我想将数据作为 ORC 格式存储在 hive 中。

下面显示错误的行,看起来 orc 不支持作为 spark 1.3.1 中的数据源

Spark 1.4 有..

存储为兽人格式..

有没有办法在 spark 1.3.1 中以 ORC 格式存储文件?

谢谢,

0 投票
1 回答
1891 浏览

mapreduce - 用于读取 ORC 文件的 Mapreduce 示例

我创建了一个分析一些文件的 mapreduce 代码。但是有些文件是从 Hive 创建的,它们是 ORC 类型的。

它可能像 Texfile 一样分析这个 ORC 文件吗?mapreduce 的输出是 Text 类型?

tks

0 投票
1 回答
3830 浏览

python - 如何在 hadoop 流中读取 ORC 文件?

我想在 Python 上的 mapreduce 中读取 ORC 文件。我尝试运行它:

但我得到错误:

我发现了一个类似的问题OrcNewInputformat as a inputformat for hadoop streaming但答案尚不清楚

请举例说明如何在 hadoop 流中正确读取 ORC 文件。

0 投票
5 回答
65566 浏览

hadoop - Parquet vs ORC vs ORC with Snappy

我正在对 Hive 可用的存储格式进行一些测试,并使用 Parquet 和 ORC 作为主要选项。我在默认压缩中包含一次 ORC,在 Snappy 中包含一次。

我已经阅读了许多文档,其中指出 Parquet 在时间/空间复杂性方面比 ORC 更好,但我的测试与我经历的文档相反。

关注我的数据的一些细节。

就我的桌子的压缩而言,镶木地板是最差的。

我对上述表格的测试产生了以下结果。

行计数操作

列操作的总和

列操作的平均值

使用 where 子句从给定范围中选择 4 列

这是否意味着 ORC 比 Parquet 更快?或者我可以做些什么来使其在查询响应时间和压缩率方面更好地工作?

谢谢!