gpt4 book ai didi

hadoop - 当多个文件(在完全相同的文件夹/目录中)具有完全相同的列时,如何创建一个Hive表?

转载 作者:行者123 更新时间:2023-12-02 20:26:16 25 4
gpt4 key购买 nike

我在同一HDFS位置中大约有10个文件。所有文件都具有完全相同的列(大约15列),每列大约100行。每个文件代表我在过去10个月中收到的数据(数据每月更新一次)。我想创建一个HIVE表,将所有数据合并到表中。该表应具有15列,其中包含约1,000行数据。

我尝试使用通常用于创建表的代码(请参见下文),但是当我运行以下脚本时,该脚本执行但仅从一个文件中获取数据,而从另一个文件中获取数据。

CREATE EXTERNAL TABLE database.tablename (
UserID INT,
UserName String,
Department String,
State String
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE
LOCATION '/location/of/the/file/'
TBLPROPERTIES ("skip.header.line.count"="1");

我没有收到任何错误,但是我只得到一些数据,而不是全部。我应该使用完全不同的语法吗?还是可以编辑上面的脚本以获得所需的结果?

任何帮助是极大的赞赏!附言对于Hadoop / HIVE来说是非常新的东西,因此当我受到这些不同场景的打击时,我正在尝试学习。谢谢你们!

最佳答案

您能否一次确保所有文件都放在'/location/of/the/file/'位置下。

如果表指向位置('/location/of/the/file/')内有多个目录,则在当前的配置单元 session 中设置以下参数并运行查询:

SET hive.mapred.supports.subdirectories=TRUE;
SET mapred.input.dir.recursive=TRUE;

关于hadoop - 当多个文件(在完全相同的文件夹/目录中)具有完全相同的列时,如何创建一个Hive表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56533225/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com