互联网无济于事,我的学科知识有限。

我有一个具有以下架构的表:

CREATE EXTERNAL TABLE `db.temp_entries`(
  `id` bigint,
  `random_id` string)
ROW FORMAT SERDE
  'org.apache.hadoop.hive.ql.io.orc.OrcSerde'
STORED AS INPUTFORMAT
  'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat'
OUTPUTFORMAT
  'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat'
LOCATION
  'hdfs://xxxx/xxxxx/xxx/temp_entries'
TBLPROPERTIES (
  'COLUMN_STATS_ACCURATE'='{\"BASIC_STATS\":\"true\"}',
  'numFiles'='1',
  'numRows'='1',
  'orc.compress'='ZLIB',
  'rawDataSize'='115',
  'totalSize'='381',
  'transient_lastDdlTime'='1532514067')

这是使用的插入查询:

查询1
insert into `db.temp_entries`
            values (1, 'P1804010001249002159939')

查询2
insert into `db.temp_entries`
            values (2, 'P1804010001495232931398'),
            (3, 'P1804010002374640308088'),
            (4, 'P1804010009196709498065')

我正在通过python脚本生成此代码,并通过python insert包-> pyhive来执行from pyhive import hive
尽管m不使用insert overwrite,但Query#1覆盖了Query#2的数据。我的道歉有什么问题吗?

最佳答案

删除表名周围的反引号``。

查询1

insert into db.temp_entries
            values (1, 'P1804010001249002159939')

查询2
insert into db.temp_entries
            values (2, 'P1804010001495232931398'),
            (3, 'P1804010002374640308088'),
            (4, 'P1804010009196709498065')

关于hadoop - “insert into”正在覆盖数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51517272/

10-16 01:35