问题标签 [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.
json - 为嵌套的 json 数据创建 Hive 表
我正在尝试为我的 Json 数据创建一个 Hive 表。创建表时出现错误。
这是我的数据。
这是我的表创建语句
我收到以下错误
我不知道我在哪里犯错。任何帮助将不胜感激。
hadoop - 插入数据时配置单元语义异常
我用 ORC 创建了一个配置单元表。如果我从配置单元控制台插入数据,它可以完美运行。但是如果我从 Jdbc 代码插入数据。它会引发配置单元语义异常。
错误
rg.apache.hive.service.cli.HiveSQLException:编译语句时出错:失败:SemanticException [错误 10293]:无法为插入值创建临时文件插入/值 org.apache.hive.service 中不支持 TOK_TABLE_OR_COL 类型的表达式.cli.operation.Operation.toSQLException(Operation.java:326) org.apache.hive.service.cli.operation.SQLOperation.prepare(SQLOperation.java:102) org.apache.hive.service.cli.operation.SQLOperation .runInternal(SQLOperation.java:171) org.apache.hive.service.cli.operation.Operation.run(Operation.java:268) org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementInternal(HiveSessionImpl.java :410) org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementAsync(HiveSessionImpl.java:397) sun.reflect.GeneratedMethodAccessor24。调用(未知来源) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) java.lang.reflect.Method.invoke(Method.java:606) org.apache.hive.service.cli.session.HiveSessionProxy.invoke (HiveSessionProxy.java:78) org.apache.hive.service.cli.session.HiveSessionProxy.access$000(HiveSessionProxy.java:36) org.apache.hive.service.cli.session.HiveSessionProxy$1.run(HiveSessionProxy.java :63) java.security.AccessController.doPrivileged(Native Method) javax.security.auth.Subject.doAs(Subject.java:415) org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1671) org. apache.hive.service.cli.session.HiveSessionProxy.invoke(HiveSessionProxy.java:59) com.sun.proxy.$Proxy25.executeStatementAsync(Unknown Source) org.apache.hive.service.cli。CLIService.executeStatementAsync(CLIService.java:258) org.apache.hive.service.cli.thrift.ThriftCLIService.ExecuteStatement(ThriftCLIService.java:509) org.apache.hive.service.cli.thrift.TCLIService$Processor$ExecuteStatement。 getResult(TCLIService.java:1313) org.apache.hive.service.cli.thrift.TCLIService$Processor$ExecuteStatement.getResult(TCLIService.java:1298) org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39) org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39) org.apache.hive.service.auth.TSetIpAddressProcessor.process(TSetIpAddressProcessor.java:56) org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run( TThreadPoolServer.java:285) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) java.util.concurrent.ThreadPoolExecutor$Worker。运行(ThreadPoolExecutor.java:615) java.lang.Thread.run(Thread.java:745)
我的插入查询
任何帮助将不胜感激。
hadoop - 记录对于内存缓冲区来说太大。通过 TEZ 使用 Hive 的 ORC 表时出错
我们正在尝试从 HIVE (1.2.1) 中的“ORC”表中读取数据,并将该数据放入带有“TextInputFormat”的表中。原始数据中有些条目太大,运行时出现如下错误:
org.apache.hadoop.hive.ql.metadata.HiveException:org.apache.tez.runtime.library.common.sort.impl.ExternalSorter$MapBufferTooSmallException:记录对于内存缓冲区来说太大。超出缓冲区溢出限制,bufferOverflowRecursion=2,bufferList.size=1,blockSize=1610612736
任何想法如何解决这个问题?
我们使用 TEZ 引擎执行查询,简单的 MR 引擎没有错误。
要执行的查询:
更新:从 ORC 复制到 ORC 存储时出现同样的错误。
更新 2:来自 ORC 的简单“选择”适用于任何引擎。
hadoop - 具有多行列的 Hive 文本格式到 ORC
当具有多行列的文本格式的配置单元表转换为 ORC 格式时,它无法正确读取列。
带有自定义记录分隔符的 Hive 表
上表中的 xml 列有多行数据。当我从这个表中查询时,我看到了正确的数据。
上表中的样本数据(2行)
我创建了另一个ORC格式的表,并将文本表中的数据复制到ORC表中,但是转换不正确。
执行查询select * from MULTILINE_XML_ORC
给出以下结果,这是不正确的。
有什么想法吗?
python - Hive 转换查询使用 ORC 文件运行缓慢
我们使用 python 脚本来处理数据,并使用 TRANSFORM 将它们与 hive 一起使用。我做了两张相同的桌子。首先将数据存储在 ORC 中,第二个存储在 TEXT 中。存储在 ORC 中的数据映射器的运行速度比存储在 TEXT 中的数据慢 10 倍。
1) 我们使用默认的 ORC 设置。
2) 查询:
任何为什么会发生这种情况的想法都会有很大帮助。
hadoop - 从 ORC 读取时增加映射器的数量
这就是问题所在。
我正在尝试从 Hive 中的压缩 ORC 表中读取数据,但 YARN 无法确定正确的映射器数量,因为它使用压缩数据大小的值进行计算而不是原始值。这是一个问题,因为对于大约 100 GB 的数据集,我们只有 18 个映射器。
使用 hive.exec.reducers.bytes.per.reducer 有助于增加 reducer 的数量。有没有办法获得更多的映射器?
提前致谢!
orc - 将数据插入 orc 表时出错
甚至面临将数据从文本格式表加载到 orc 格式表的相同问题。当我尝试将数据从文本格式表加载到 orc 表时,我收到此错误“线程“主”java.sql.SQLException 中的异常:处理语句时出错:FAILED:执行错误,从 org.apache.hadoop.hive.ql.exec.mr.MapRedTask 返回代码 1”
这是我的代码:
在这一行出现错误“stmt.execute("INSERT OVERWRITE TABLE"+ orcTable +" SELECT * FROM "+ tempTable)"
任何人都可以帮我解决这个问题吗?感谢你。
hbase - 使用 ORC 存储稀疏数据
我正在尝试将一些数据从 Hbase 移植到 ORC 以提高写入性能。在 Hbase 中,我的数据针对一个行键存储在总共 10 列中。现在,当我们使用 Hbase 时,我们不必担心这些列的稀疏性。即使大多数行只有两列具有非零值,也可以,因为 Hbase 只会存储 2 列。
我在移植数据时的第一反应是将上述列限定符转换为与地图相关的值。但是,这对于检索不是很有效。我试图了解 ORC 如何解释空值 - 如果我将值存储为 10 个单独的列而不是地图会更好吗?在最坏的情况下,该矩阵将非常稀疏。
hadoop - 带有 Snappy 压缩的 ORC 文件可以在 Stripe 上拆分吗?
带有 Snappy Compression 的 ORC 文件是否可以在条带上拆分?据我所知,Snappy 压缩文件不可拆分。但我在一篇博客中读到,snappy 压缩文件可以按条纹分割。真的吗?
apache-spark - 将模式演化 (SCD) JSON/XML 转换为 ORC/Parquet 格式
我们正在获取各种 JSON/XML 作为输入,其中模式总是在不断发展。我想在 Hadoop/Hive 环境中使用 ORC 或 Parquet 格式处理它们以提高性能。
我知道以下实现相同目标的常见风格:使用 JSONSerde 或 XMLSerde 库,首先使用这些 serde 创建配置单元表。稍后将在每个 xml/json 配置单元表上触发 select * fields 查询以另存为 orc 或另存为镶木地板到另一个表中。成功完成后,我可以删除这些 Serde 表和 XML/JSON 数据。
做同样的事情的另一种好方法是什么?