- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 spark sql 加载以 ORC 格式创建的托管配置单元表。
SparkConf conf = new SparkConf().setAppName(ConnectionTest.class.getName()).setMaster(master);
JavaSparkContext context = new JavaSparkContext(conf);
SQLContext sqlContext = new HiveContext(context);
sqlContext.sql("SELECT * FROM schema.tableName").show(20);
但是我收到了这个错误:
Exception in thread "main" java.lang.RuntimeException: serious problem
at org.apache.hadoop.hive.ql.io.orc.OrcInputFormat.generateSplitsInfo(OrcInputFormat.java:1021)
at org.apache.hadoop.hive.ql.io.orc.OrcInputFormat.getSplits(OrcInputFormat.java:1048)
at org.apache.spark.rdd.HadoopRDD.getPartitions(HadoopRDD.scala:199)
at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:242)
at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:240)
at scala.Option.getOrElse(Option.scala:120)
at org.apache.spark.rdd.RDD.partitions(RDD.scala:240)
at org.apache.spark.rdd.HadoopRDD$HadoopMapPartitionsWithSplitRDD.getPartitions(HadoopRDD.scala:381)
at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:242)
at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:240)
at scala.Option.getOrElse(Option.scala:120)
at org.apache.spark.rdd.RDD.partitions(RDD.scala:240)
at org.apache.spark.rdd.MapPartitionsRDD.getPartitions(MapPartitionsRDD.scala:35)
at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:242)
at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:240)
at scala.Option.getOrElse(Option.scala:120)
at org.apache.spark.rdd.RDD.partitions(RDD.scala:240)
at org.apache.spark.rdd.MapPartitionsRDD.getPartitions(MapPartitionsRDD.scala:35)
at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:242)
at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:240)
at scala.Option.getOrElse(Option.scala:120)
at org.apache.spark.rdd.RDD.partitions(RDD.scala:240)
at org.apache.spark.sql.execution.SparkPlan.executeTake(SparkPlan.scala:190)
at org.apache.spark.sql.execution.Limit.executeCollect(basicOperators.scala:165)
at org.apache.spark.sql.execution.SparkPlan.executeCollectPublic(SparkPlan.scala:174)
at org.apache.spark.sql.DataFrame$$anonfun$org$apache$spark$sql$DataFrame$$execute$1$1.apply(DataFrame.scala:1499)
at org.apache.spark.sql.DataFrame$$anonfun$org$apache$spark$sql$DataFrame$$execute$1$1.apply(DataFrame.scala:1499)
at org.apache.spark.sql.execution.SQLExecution$.withNewExecutionId(SQLExecution.scala:56)
at org.apache.spark.sql.DataFrame.withNewExecutionId(DataFrame.scala:2086)
at org.apache.spark.sql.DataFrame.org$apache$spark$sql$DataFrame$$execute$1(DataFrame.scala:1498)
at org.apache.spark.sql.DataFrame.org$apache$spark$sql$DataFrame$$collect(DataFrame.scala:1505)
at org.apache.spark.sql.DataFrame$$anonfun$head$1.apply(DataFrame.scala:1375)
at org.apache.spark.sql.DataFrame$$anonfun$head$1.apply(DataFrame.scala:1374)
at org.apache.spark.sql.DataFrame.withCallback(DataFrame.scala:2099)
at org.apache.spark.sql.DataFrame.head(DataFrame.scala:1374)
at org.apache.spark.sql.DataFrame.take(DataFrame.scala:1456)
at org.apache.spark.sql.DataFrame.showString(DataFrame.scala:170)
at org.apache.spark.sql.DataFrame.show(DataFrame.scala:350)
at org.apache.spark.sql.DataFrame.show(DataFrame.scala:311)
at com.daimler.dbdp.spark.ConnectionTest.run(ConnectionTest.java:45)
at com.daimler.dbdp.spark.ConnectionTest.main(ConnectionTest.java:26)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:731)
at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:181)
at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:206)
at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:121)
at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
Caused by: java.lang.NullPointerException
at org.apache.hadoop.hive.ql.io.orc.OrcInputFormat$BISplitStrategy.getSplits(OrcInputFormat.java:560)
at org.apache.hadoop.hive.ql.io.orc.OrcInputFormat.generateSplitsInfo(OrcInputFormat.java:1010)
... 49 more
好像是跟ORC格式有关的东西。使用 ORC 格式时访问 Hive 表的最佳方式是什么?
谢谢!!!
Spark 1.6.2。Java 8霍顿工厂区。
最佳答案
你可以尝试在spark中设置以下参数
scala> sql("set spark.sql.hive.convertMetastoreOrc=true")
// output = res3: org.apache.spark.sql.DataFrame = [key: string, value: string]
然后在spark中对ORC表执行查询。
如果在设置上面的参数后你也遇到问题,你可以尝试设置下面的参数。
scala> sql("set spark.sql.orc.impl=native")
// output = res4: org.apache.spark.sql.DataFrame = [key: string, value: string]
关于apache-spark - Spark : load or select Hive table of ORC format,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43500949/
我在 Hive 中有一个分区的 ORC 表。在用所有可能的分区加载表后,我得到了 HDFS - 多个 ORC 文件,即 HDFS 上的每个分区目录都有一个 ORC 文件。对于某些用例,我需要将每个分区
关于 SO 和网络的大多数问题/答案都讨论了使用 Hive 将一堆小的 ORC 文件组合成一个更大的文件,但是,我的 ORC 文件是按天分隔的日志文件,我需要将它们分开。我只想每天“汇总”ORC 文件
我正在对 Hive 可用的存储格式进行一些测试,并使用 Parquet 和 ORC 作为主要选项。我将 ORC 一次包含在默认压缩中,一次包含在 Snappy 中。 我读过许多文档,指出 Parque
我正在尝试使用上面提到的 orc 工具 jar 来转换 JSON 文件 https://orc.apache.org/docs/tools.html#java-orc-tools 我已将其导入到我的
我创建了一个存储为 ORC 的托管配置单元表,当加载 .txt 文件时它工作正常,但是我无法将 ORC 文件加载到该表中。与分隔符有什么关系吗?还是我错过了什么? 最佳答案 下面的代码对我有用,同时将
当我读取 orcfile 并将数据写入 orcfile 时,出现以下错误: expected org.apache.hadoop.hive.ql.io.orc.OrcStruct, received
在浏览了一个示例 ORC 文件后,我了解到 ORC 文件格式不存储任何列信息,实际上所有列名都会被替换为 _c0 到 _cn,在这种情况下如何为 ORC 实现适当的架构演变表? 最佳答案 ORC 格式
我在 HDFS 中有一些数据是使用 Sqoop 导入的。数据以 ORC 格式导入,压缩为 Snappy。 我正在尝试使用以下 DDL 语句在此数据之上创建一个表。但是,我收到以下错误。 FAILED:
我有一个程序,其输入应为 ORC 文件格式。 我希望能够检查提供的输入是否实际上是一个 ORC 文件。仅检查扩展名是不够的,因为用户可以省略扩展名。 例如,对于 Parquet,我们可以 check如
我目前正在实现对 HDFS 和 Hive 表的监控数据的 ETL (Talend)。 我现在面临重复的问题。更详细地说,如果我们需要使用相同的输入运行一个 ETL 作业 2 次,我们最终会在 Hive
create table n_data(MARKET string,CATEGORY string,D map,monthid int,value DOUBLE) STORED AS ORC
如何将文本文件加载到 Hive orc 外部表中? create table MyDB.TEST ( Col1 String, Col2 String, Col3 String, Col4 S
在 HDP 2.3 for Windows 中的 Apache Pig 交互式 shell 中工作,我在 /path/to/file 中有一个现有的 ORC 文件。如果我加载然后保存使用: a = L
假设我有一个像这样的 Hive 查询: CREATE TABLE student (key string, name string, course struct) STORED AS ORC; 由于
我可以更新单个列,但不能更新从另一个表引用的多个列。 我启用了所有 ACID 属性以支持配置单元 (1.2.1) 表更新。 我有两个表, 表 1: 架构: create table table1(em
我正在尝试使用 orc-core 编写 orc 文件稍后由 hive 读取。 正在写入的文件具有正确的行数,但列中没有内容。我可以看到,两者都试图在配置单元中使用选择查询读取文件,并且都使用 hive
我读过很多关于 ORC 文件格式在压缩和快速查询方面有多么出色的帖子,特别是与 Parquet 格式相比。我了解 ORC 如何跨行组拆分数据,将它们分割为列组,以及它如何使用元数据和内部统计信息来跳过
我有一个要求,我想将 5GB ORC 文件拆分为 5 个文件,每个文件大小为 1GB。ORC 文件是可拆分的。这是否意味着我们只能逐条分割文件?但我有要求根据大小拆分 orc 文件。例如,将 5GB
将 Hive 外部表从 RC 升级为 ORC 格式并在其上运行 MSCK REPAIR TABLE 时,当我从表中选择全部时,出现以下错误 - Failed with exception java.i
我是大数据和相关技术的新手,所以我不确定我们是否可以将数据附加到现有的 ORC 文件中。我正在使用 Java API 编写 ORC 文件当我关闭 Writer 时,我无法再次打开文件来写入新内容,基本
我是一名优秀的程序员,十分优秀!