我有一些数据,是处理和模型的基础上 case class
类也可以有其他 case class
所以最后的表有复杂的数据, struct
, array
. 使用case类,我使用 dataframe.saveAsTextFile(path)
.
这些数据有时会更改或需要有不同的模型,因此对于每个迭代,我在表名中使用一个后缀(一些\数据\ v01,一些\数据\ v03,等等)。
我还使用impala在这些表上按计划运行查询,因此为了避免每次保存新表时都修改查询,我希望使用在更改模型时始终更新的视图。
问题是我不能用 Impala 来创造 view
,因为表中数据的复杂性(嵌套的复杂类型)。除了需要大量工作来扩展复杂类型之外,我还希望保留这些类型(大量嵌套级别,在加入数组时复制数据)。
一种解决方案是使用hive创建视图,如下所示
create view some_data as select * from some_data_v01;
但如果我这么做了,当我想用 Impala 的table时,
select * from some_data;
或者一些简单的事情,比如
select some_value_not_nested, struct_type.some_int, struct_type.some_other_int from some_data;
错误如下:
analysisexception:选择列表中的expr'some\ data\ v01.struct\ type'返回复杂类型'struct<some'_int:int,其他一些_int:int,嵌套_struct:struct<嵌套_int:int,其他_int:int>,最后一个_int:int>'. 选择列表中只允许使用标量类型。
是否有任何方法可以访问此视图,或以其他方式创建它以使其工作?
暂无答案!
目前还没有任何答案,快来回答吧!