【发布时间】:2013-02-22 15:26:59
【问题描述】:
我将日志文件以文本形式存储在 HDFS 中。当我将日志文件加载到 Hive 表中时,所有文件都会被复制。
我可以避免将所有文本数据存储两次吗?
编辑:我通过以下命令加载它
LOAD DATA INPATH '/user/logs/mylogfile' INTO TABLE `sandbox.test` PARTITION (day='20130221')
然后,我可以在以下位置找到完全相同的文件:
/user/hive/warehouse/sandbox.db/test/day=20130220
我以为是抄袭的。
【问题讨论】:
-
怎么说,抄袭了?如何将它们加载到 hive 表中?
-
我通过
LOAD DATA INPATH 'xxx' INTO TABLE yyy加载它(见后编辑)然后我在/user/hive/warehouse中找到文件。我想知道它是否可以把它留在那里(我想我必须在我的目录中强制执行分区结构,但这很好) -
它是如何存储在 HDFS 中的?
-
这是一个 CSV 文本文件。它是通过 Java 应用程序放置的。
-
那么,你怎么知道,它是你存储文件的 HDFS 目录?你能检查一下
hive.metastore.warehouse.dir属性在你的配置单元配置中的位置吗?