问题标签 [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.
hive - 使用 hdfs 将 orc 文件复制到该表的文件夹后如何更新配置单元表的数据
在使用 hdfs 复制将 orc 文件插入表的文件夹后,如何在使用 hive 查询时更新该 hive 表的数据以查看这些数据。
此致。
hadoop - Hive Snappy 未压缩长度必须小于
使用表本身的连接查询下表会导致以下异常:
有问题的查询如下:
该表存储为 ORC 并使用 SNAPPY 进行压缩:
我搜索了很多,但找不到任何提示。你知道问题可能出在哪里吗?
非常感谢!
hadoop - HIVE - ORC 读取 NULL 十进制值的问题 - java.io.EOFException:读取 BigInteger 过去 EOF
在定义为 DECIMAL(31,8) 的列中加载带有 NULL 的 ORC 外部表时,我遇到了有关 HIVE 的问题。看起来 hive 在加载后无法读取 ORC 文件,并且无法再查看该字段内具有 NULL 的记录。可以正常读取同一 ORC 文件中的其他记录。
这只是最近才发生的,我们没有对我们的 HIVE 版本进行任何更改。令人惊讶的是,以前加载到同一个表中的 ORC 文件在 DECIMAL 字段中有 NULL 是可以查询的,没有问题。
我们正在使用 HIVE 1.2.1。下面是 HIVE 吐出的完整堆栈跟踪,我已将实际的 hdfs 位置替换为
scala - Spark将多个目录读入多个数据帧
我在 S3 上有一个目录结构,如下所示:
这意味着对于目录,我根据作业的时间戳在给定路径中foo
有多个输出表、、、、base
等A
。B
在这种情况下,我希望left join
他们都基于时间戳和主目录foo
。这意味着将每个输出表base
、A
、B
等读入left join
可以应用 a 的新单独输入表。一切以base
表格为起点
像这样的东西(不工作的代码!)
有人可以指出我如何获得该数据帧序列的正确方向吗?甚至可能值得将读取视为惰性或顺序读取,因此仅在应用连接时读取A
或B
表以减少内存需求。
注意:目录结构不是最终的,这意味着如果适合解决方案,它可以更改。
hive - Hive,不支持将表文件格式从 orc 更改为 parquet?
我有一个像这样的蜂巢表:
现在,我想将文件格式从 ORC 更改为 parquet 并将位置更改为包含 parquet 文件的其他 hdfs 目录。所以我首先尝试更改格式:
但遗憾的是它抛出了一个异常:
失败:执行错误,返回代码 1 从
我猜这个异常意味着当我更改 fileformat 时,hive 不仅会更改表元数据,而且还会尝试将所有数据格式从 orc 更改为 parquet。但是从官方文档中,它说:
但我想要实现的是将其位置设置为镶木地板目录。
那么,我能做些什么来实现这一目标呢?
hadoop - 将分区的 ORC 数据文件复制到另一个外部分区的 ORC 表
问题:将带有 ORC 文件的分区文件夹复制到另一个外部分区 ORC 表后,行数不正确
我在 dev 模式中有这个员工表。该表是一个外部分区的 ORC 表。
CREATE EXTERNAL TABLE dev.employee(empid string, empname string, update_gmt_ts timestamp) PARTITIONED BY (partition_upd_gmt_ts string) 存储为 orc location '/dev/employee';
我在这些分区文件夹中有兽人数据文件。
hdfs dfs -ls /dev/employee
drwxr-xr-x - user1 group1 0 2017-02-08 10:25 /dev/employee/partition_upd_gmt_ts=201609 drwxr-xr-x - user1 group1 0 2017-02-08 10:24 /dev/employee/partition_upd_gmt_ts=201610
当我执行这个查询
从 dev.employee 中选择 count(*),其中 1=1;
1000 -- 正确的行数
我在 prod 模式中有另一个员工表的表副本。这也是一个外部分区的 ORC 表。我也想将相同的数据推送到该表中。
创建外部表 prod.employee(empid 字符串,empname 字符串,update_gmt_ts 时间戳)分区(partition_upd_gmt_ts 字符串)存储为 orc 位置'/prod/employee';
所以我做了一个hdfs副本
hdfs dfs -cp /dev/employee/* /prod/employee/
数据被复制了。
hdfs dfs -ls /prod/employee
drwxr-xr-x - user1 group1 0 2017-02-08 10:25 /prod/employee/partition_upd_gmt_ts=201609 drwxr-xr-x - user1 group1 0 2017-02-08 10:24 /prod/employee/partition_upd_gmt_ts=201610
但是当我执行 count 查询时,我得到了零行。
你能帮我解释一下为什么我没有得到与行数相同的 1000。
从 prod.employee 中选择 count(*),其中 1=1;
0 -- 错误的行数
hadoop - Apache Solr 支持 ORC 文件格式
我在 Hive 中有一堆表,存储为 ORC。我想在 SolrCloud 集合中索引他们的数据。
Solr 中是否支持对存储为 ORC 格式的数据进行索引?我已经用谷歌搜索了,但没有任何结果。
hadoop - 在 hadoop 中选择文件格式
伙计
们,可以在 Hadoop 处理的不同阶段使用的推荐文件格式是什么。
处理:我一直在 hive 中使用文本格式/JSON serde 来进行处理。这是我执行 ETL(转换)操作的暂存表的好格式吗?我应该使用更好的格式吗?我知道 Parquet / ORC / AVRO 是专门的格式,但它是否适合 ETL(转换)操作。此外,如果我对 Zlib 使用诸如 Snappy 之类的压缩技术,那将是一种推荐的方法(我不想因为压缩导致额外的 CPU 利用率而降低性能,如果压缩会有更好的性能,请纠正我)
报告:根据我的查询需求
聚合:使用列式存储似乎是一个合乎逻辑的解决方案。带有 Snappy 压缩的 Parquet 是否非常适合(假设我的 hadoop 发行版是 Cloudera)。
完整的行提取
如果我的查询模式需要一行中的所有列,那么选择列式存储是一个明智的决定吗?还是我应该选择 AVRO 文件格式
存档:对于存档数据,我计划使用 AVRO,因为它可以通过良好的压缩处理模式演变。