我有两个问题,请帮我解决。
问题1:文件结构我有3个文件有以下列:
login.csv(请求\u id、日期\u in、来源)
logout.csv(请求\u id、日期\u out、目的地)
request.csv(请求id、请求日期、用户)
每个文件在不同的时刻写入,因此“日期”不相同。如果请求完成,则所有文件中的请求id都相同。
例如:
注销.csv
request_id | date_out | destination
1 | 2015-11-13 01:02:02 | 192.168.0.7
3 | 2015-11-13 05:01:05 | 192.168.0.5
4 | 2015-11-13 03:09:02 | 192.168.0.10
登录.csv
request_id | date_in | origin
1 | 2015-11-13 01:02:03 | 192.168.0.10
2 | 2015-11-13 02:03:04 | 192.168.0.9
4 | 2015-11-13 03:09:02 | 192.168.0.3
请求.csv
request_id | date_in | user
1 | 2015-11-13 01:02:01 | user1
2 | 2015-11-13 02:03:01 | user2
3 | 2015-11-13 02:03:01 | user1
4 | 2015-11-13 03:09:01 | user3
存储这些文件的更好方法是什么?
问题2:目录
如果hdfs中的文件每天都有相同的名称,如何正确地构造目录并加载这些文件?
按现状举例:
LOGS / 20151113 / log_out.csv
LOGS / 20151113 / log_in.csv
LOGS / 20151113 / request.csv
LOGS / 20151114 / log_out.csv
LOGS / 20151114 / log_in.csv
LOGS / 20151114 / request.csv
.
.
.
先谢谢你
1条答案
按热度按时间deikduxw1#
@奥塔维奥r。rossi:如果数据已经在hdfs中,您可以创建3个(外部)表、login、logout和request
比如说,
现在,这些表可以根据您的使用情况按日期或年/月/日进行分区。
另外,如果您正在寻找相关性,您可以考虑将所有的数据加载到一个表中,方法是根据请求将所有3个表连接起来。希望这对您有所帮助!