使用spark读取hive orc表

e3bfsja2  于 2021-06-26  发布在  Hive
关注(0)|答案(0)|浏览(1096)

我有一张分区的table。来自的partitons 2017-06-20 向上。

我的问题。

import org.apache.spark.sql.hive.orc._
import org.apache.spark.sql._
val hiveContext = new org.apache.spark.sql.hive.HiveContext(sc)
val test_enc_orc = hiveContext.sql("select * from db.tbl where time_key = '2017-06-21' limit 1")

每次我运行它,spark都会寻找这个分区 2017-06-20 ```
INFO OrcFileOperator: ORC file hdfs://nameservice1/apps/hive/warehouse/db.db/tbl/time_key=2017-06-20/000016_0 has empty schema, it probably contains no rows. Trying to read another ORC file to figure out the schema.

并搜索日期的所有文件 `2017-06-20` . 它保存着空的兽人档案。但是分割 `2017-06-21` 有包含数据的文件。为什么spark不搜索那个日期或其他日期?
编辑
已创建测试表

drop table arstel.evkuzmin_test_it;

create table arstel.evkuzmin_test_it(name string)
partitioned by(ban int)
stored as orc;

insert into arstel.evkuzmin_test_it partition(ban) values
("bob", 1)
, ("marty", 1)
, ("monty", 2)
, ("naruto", 2)
, ("death", 4);

似乎问题正是因为空文件。在这种情况下没有,所以一切正常。有没有办法让spark忽略它们?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题