问题标签 [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.
hadoop - 使用 Impala 的 ORC 文件格式
ORC 文件格式可以在 Impala 中使用吗?还如何访问存储在 Impala 的 hive 元存储中的 ORC 表。在文档链接下方找到,但它不包含任何受限制的文件格式列表或提及 impala 不支持的 ORC:http: //www.cloudera.com/documentation/enterprise/latest/topics/impala_file_formats.html
hive - 带字段分隔符的 Hive ORC 或 AVRO 格式
具有 ORC 或 Avro 格式的配置单元表指定字段分隔符意味着什么?即使指定了配置单元,它也会忽略吗?
例如,
hadoop - 如果在加载表时设置“orc.create.index”=“false”,Hive 无法读取 ORC
Hive 版本:1.2.1,创建表如下:
但是在进行查询时,它总是返回NULL。例如:
我检查了ORC_NONE的大小,2G,所以它不是空表,如果通过设置“orc.create.index”=“true”创建表,查询工作。
我的本意是在有/没有行索引的情况下测试 ORC 上的 Hive 性能,更准确地说,是为了测试行索引的跳过能力。但是,当行索引不可用时,Hive 似乎无法读取数据。
这是一个错误吗?还是我的加载有问题?
apache-spark - 从 DataFrame 创建 ORC 分区时:错误 java.io.IOException:无法获取 67108864 字节的内存
myDF.write.format("orc").partitionBy("creation_date").save("/user/xyz/data3")
当我尝试基于 HDFS 目录 /user/xyz/data3 中 myDF 数据帧的“creation_date”列创建 ORC 格式的分区数据文件时,我收到以下错误:java.io.IOException:无法获取 67108864 字节的内存。
我已经尝试了所有在互联网上发布的与此问题相关的可能场景,但没有一个对我有用。我尝试过的一些是:sqlContext.setConf("spark.sql.tungsten.enabled", "false")
sqlContext.setConf("spark.buffer.pageSize", "16m")
请让我知道如何解决此问题。
此问题出现在 Spark 1.5.1 中。
scala - 在 Spark 中使用自定义函数聚合多个列
我想知道是否有某种方法可以为多列上的 spark 数据帧指定自定义聚合函数。
我有一个像这样的类型(名称,项目,价格)的表:
至:
我想将项目和每个人的成本汇总到这样的列表中:
这在数据框中可能吗?我最近了解到,collect_list
但它似乎只适用于一栏。
apache-spark - Spark log-“min key = null, max key = null”,同时读取 ORC 文件
我正在尝试通过 Spark 将 Dataframe(比如 100 条记录)与一个包含 1 亿条记录的 ORC 文件连接起来(可以增加到 4-50 亿,每条记录 25 字节)。它也是使用 Spark hiveContext API 创建的。
ORC 文件创建代码
ORC文件读取代码
读取时的 Spark 日志(从本地)
尽管 Spark 作业成功完成,但我认为它无法利用 ORC 索引文件功能,因此在继续之前检查整个 ORC 数据块。
问题
-- 这是正常行为,还是我必须在以 ORC 格式保存数据之前设置任何配置?
-- 如果是NORMAL,最好的加入方式是什么,以便我们丢弃磁盘级别的不匹配记录(可能只加载 ORC 数据的索引文件)?
performance - 节省 Spark ORC 的性能改进
我正在使用 Spark 1.6.1,在 Spark 世界中我还是个新手。我正在将文件保存为 ORC 格式。
我正在尝试将相对较大的文本文件(8 GB)解析为 ORC。文件通常很宽,即 200 多列。
列类型是基本的:Int、String、Date。我解析所有行,然后执行 persist() 并保存到文件中。
这是基本代码:
问题是性能很差。这比从同一文本文件导入关系数据库更糟糕。
我尝试在 Snappy 和 LZF 压缩器之间切换,这里没有太多收获。我还使用了节点的内存大小和内核数量,而不是更好。然后我开始更改缓冲区大小等以进行压缩。我看到大量列的性能急剧下降。有人可以告诉在哪里看吗?有人可以指出有关 ORC 文件保存优化的有用主题吗?
orc - Vora 对 ORC 文件的支持 - char() 类型?
Vora 的 ORC 阅读器不支持 char() 类型有什么原因吗?这是我在尝试读取包含 char(n) 字段的基于 Hive ORC 的表的文件时得到的结果:
apache-spark - Spark 数据框 saveAsTable 与保存
我正在使用 spark 1.6.1,并且正在尝试将数据帧保存为 orc 格式。
我面临的问题是save方法很慢,每个executor上50M的orc文件大概需要6分钟。这就是我保存数据框的方式
我尝试将 saveAsTable 用于也使用 orc 格式的 hive 表,这似乎快了大约 20% 到 50%,但这种方法有其自身的问题 - 似乎当任务失败时,重试总是会失败文件已经存在。这就是我保存数据框的方式
保存方法这么慢是有原因的吗?难道我做错了什么?
pyspark - 使用 api newAPIHadoopFile, spark 1.2 从 pyspark 访问 ORC 文件时出错
你能让我知道如何解决 java.lang.NoSuchMethodException: org.apache.hadoop.hive.ql.io.orc.OrcStruct.<init>()
用于启动 pyspark 的命令
pyspark --jars“hive-exec-0.13.1-cdh5.3.3.jar,hadoop-common-2.5.0-cdh5.3.3.jar,hadoop-mapreduce-client-app-2.5.0-cdh5.3.3.jar ,hadoop-mapreduce-client-common-2.5.0-cdh5.3.3.jar,hadoop-mapreduce-client-core-2.5.0-cdh5.3.3.jar,hadoop-core-2.5.0-mr1-cdh5.3.3 .jar,hive-metastore-0.13.1-cdh5.3.3.jar"
在 pyspark shell 中执行以下命令
distFile = sc.newAPIHadoopFile(path="orcdatafolder/",inputFormatClass="org.apache.hadoop.hive.ql.io.orc.OrcNewInputFormat", keyClass="org.apache.hadoop.io.NullWritable", valueClass=" org.apache.hadoop.hive.ql.io.orc.OrcStruct")
错误:
16/07/31 19:49:53 WARN scheduler.TaskSetManager:在阶段 0.0 中丢失任务 0.0(TID 0,sj1dra096.corp.adobe.com):java.lang.RuntimeException:java.lang.NoSuchMethodException:org.apache。 hadoop.hive.ql.io.orc.OrcStruct.<init>() 在 org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:131) 在 org.apache.hadoop.io.WritableUtils.clone(WritableUtils .java:217) 在 org.apache.spark.api.python.WritableToJavaConverter.org$apache$spark$api$python$WritableToJavaConverter$$convertWritable(PythonHadoopUtil.scala:96) 在 org.apache.spark.api.python。 WritableToJavaConverter.convert(PythonHadoopUtil.scala:104) at org.apache.spark.api.python.PythonHadoopUtil$$anonfun$convertRDD$1.apply(PythonHadoopUtil.scala:183) at org.apache.spark.api.python.PythonHadoopUtil$ $anonfun$convertRDD$1.apply(PythonHadoopUtil.scala:183) 在 scala.collection.Iterator$$anon$11.next(Iterator.scala:328) 在 scala.collection.Iterator$$anon$10.next(Iterator.scala:312) 在 scala.collection.Iterator$class.foreach (Iterator.scala:727) 在 scala.collection.AbstractIterator.foreach(Iterator.scala:1157) 在 scala.collection.generic.Growable$class.$plus$plus$eq(Growable.scala:48) 在 scala.collection .mutable.ArrayBuffer.$plus$plus$eq(ArrayBuffer.scala:103) at scala.collection.mutable.ArrayBuffer.$plus$plus$eq(ArrayBuffer.scala:47) at scala.collection.TraversableOnce$class.to (TraversableOnce.scala:273) 在 scala.collection.AbstractIterator.to(Iterator.scala:1157) 在 scala.collection.TraversableOnce$class.toBuffer(TraversableOnce.scala:265) 在 scala.collection.AbstractIterator.toBuffer(Iterator. scala:1157) 在 scala.collection.TraversableOnce$class。toArray(TraversableOnce.scala:252) at scala.collection.AbstractIterator.toArray(Iterator.scala:1157) at org.apache.spark.rdd.RDD$$anonfun$26.apply(RDD.scala:1081) at org.apache .spark.rdd.RDD$$anonfun$26.apply(RDD.scala:1081) at org.apache.spark.SparkContext$$anonfun$runJob$4.apply(SparkContext.scala:1319) at org.apache.spark.SparkContext $$anonfun$runJob$4.apply(SparkContext.scala:1319) at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:61) at org.apache.spark.scheduler.Task.run(Task.scala :56) at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:196) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$ Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) 原因:java.lang。NoSuchMethodException:org.apache.hadoop.hive.ql.io.orc.OrcStruct.() at java.lang.Class.getConstructor0(Class.java:2849) at java.lang.Class.getDeclaredConstructor(Class.java:2053)在 org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:125) ... 28 更多