Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark Hortonworks配置单元仓库连接器和架构更新_Apache Spark_Hadoop_Hive_Apache Spark Sql_Hiveql - Fatal编程技术网

Apache spark Hortonworks配置单元仓库连接器和架构更新

Apache spark Hortonworks配置单元仓库连接器和架构更新,apache-spark,hadoop,hive,apache-spark-sql,hiveql,Apache Spark,Hadoop,Hive,Apache Spark Sql,Hiveql,Hortonworks Hive Warehouse Connector在v.1.0.0之前似乎不支持架构更新。 我试着用 hive .createTable(tableName) .ifNotExists() .column(name, type) .create() 如果表存在但具有不同的模式,则什么也不会发生。 然后我尝试用不同的模式编写数据帧 dataFrame .write .format("com.hortonworks.spark.sql.hive.lla

Hortonworks Hive Warehouse Connector在v.1.0.0之前似乎不支持架构更新。 我试着用

hive
  .createTable(tableName)
  .ifNotExists()
  .column(name, type)
  .create()
如果表存在但具有不同的模式,则什么也不会发生。 然后我尝试用不同的模式编写数据帧

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

什么也没发生。我希望像Spark那样抛出AnalysisException。

我发现要创建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可以将此数据帧记录在配置单元存储器中,其中具有不同方案的旧表可以毫无例外地保存数据。

我发现,要创建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可以将此数据帧记录在配置单元存储器中,其中具有不同方案的旧表可以毫无例外地保存数据