我有两个问题,请帮我解决。
问题1:文件结构 我有3个包含这些列的文件:
每个文件都是在不同时刻写的,所以“日期”不一样。如果请求完成,request_id在所有文件中都是相同的。
例:
log_out.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
log_in.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
request.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在白天具有相同的名称,我如何正确构建我的diretory并加载文件?
按原样执行:
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
.
.
.
提前谢谢
答案 0 :(得分:0)
@Otavio R. Rossi:如果数据已经在hdfs中,您可以创建3个(外部)表,登录,注销和请求
类似的东西,
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls|SecurityProtocolType.Tls11 |SecurityProtocolType.Tls12;
现在这些表格可以按日期或年/月/日进行分区,具体取决于您的使用情况。
此外,如果您正在寻找关联,可以考虑通过连接request_id上的所有3个表来将所有数据加载到一个表中。希望这有帮助!