hortonworks配置单元仓库连接器和模式更新

iszxjhcz  于 2021-05-27  发布在  Hadoop
关注(0)|答案(1)|浏览(348)

hortonworks hive warehouse connector到v.1.0.0似乎不支持模式更新。我试着用

hive
  .createTable(tableName)
  .ifNotExists()
  .column(name, type)
  .create()

如果表存在,但具有不同的模式,并且什么也没有发生。然后我尝试用不同的模式编写Dataframe。

dataFrame
  .write
  .format("com.hortonworks.spark.sql.hive.llap.HiveWarehouseConnector")
  .save()

什么也没发生。我希望analysisexception应该像spark那样抛出。

0sgqnhkj

0sgqnhkj1#

我发现要创建一个hwc表,需要生成一个查询。。。

CREATE TABLE IF NOT EXISTS schema.table  (SERIALKEY DECIMAL(38,10),SOME STRING,SOME_OTHER STRING,...) STORED AS ORC

仅当表不存在且方案不比较时才执行。然后请求插入数据。。。

LOAD DATA INPATH '/tmp/20190222040853-6ab51b3c-a459-41df-9739-38bf5efb8da1' INTO TABLE schema.table

根据文件。。。
load命令不执行针对模式的数据验证。
因此,如果方案改变,hwc就可以将这个Dataframe记录在hive存储器中,在hive存储器中,具有不同方案的旧表可以毫无例外地保存数据。

相关问题