我正在评估hadoop&hive&impala的组合作为一个大型数据仓库的重新放置。我已经设置了一个版本,读访问的性能非常好。有人能给我一些提示吗?对于表的日常数据传递应该使用什么概念?我在hive中有一个基于我放入hdfs的文件的表。但现在我每天都有新的事务数据进来。如何将它们添加到配置单元的表中。无法插入。hdfs无法追加。那么我需要遵循的是什么概念呢。如对文件有任何建议或指导,我们将不胜感激。致以最诚挚的问候!
nfzehxib1#
hive允许将数据附加到表中—hdfs中如何实现这一点的底层实现并不重要。您可以执行以下操作: INSERT -只需将行附加到现有表中即可。 INSERT OVERWRITE -如果必须处理数据,可以执行 INSERT OVERWRITE 重写表或分区。 LOAD DATA -您可以使用它将数据批量插入到表中,还可以选择使用 OVERWRITE 关键字来清除任何现有数据。对数据进行分区。将数据加载到新表中并在中交换分区如果您知道要执行基于日期的搜索,并且能够在表或分区级别使用选项1、2和3,那么分区就非常好了。
INSERT
INSERT OVERWRITE
LOAD DATA
OVERWRITE
pu82cl6c2#
Inserts are not possible
插入是可能的,就像您可以创建一个新表并将数据从新表插入到旧表一样。但简单的解决方案是,您可以使用下面的命令将文件的数据加载到配置单元表中。
load data inpath '/filepath' [overwrite] into table tablename;
如果使用“覆盖”,则仅用新数据答复现有数据,否则仅附加数据。您甚至可以通过创建shell脚本来调度脚本。
2条答案
按热度按时间nfzehxib1#
hive允许将数据附加到表中—hdfs中如何实现这一点的底层实现并不重要。您可以执行以下操作:
INSERT
-只需将行附加到现有表中即可。INSERT OVERWRITE
-如果必须处理数据,可以执行INSERT OVERWRITE
重写表或分区。LOAD DATA
-您可以使用它将数据批量插入到表中,还可以选择使用OVERWRITE
关键字来清除任何现有数据。对数据进行分区。
将数据加载到新表中并在中交换分区
如果您知道要执行基于日期的搜索,并且能够在表或分区级别使用选项1、2和3,那么分区就非常好了。
pu82cl6c2#
插入是可能的,就像您可以创建一个新表并将数据从新表插入到旧表一样。
但简单的解决方案是,您可以使用下面的命令将文件的数据加载到配置单元表中。
如果使用“覆盖”,则仅用新数据答复现有数据,否则仅附加数据。
您甚至可以通过创建shell脚本来调度脚本。