我有一张分区的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忽略它们?
暂无答案!
目前还没有任何答案,快来回答吧!