두 가지 문제가 있습니다. 문제 해결을 도와주세요.
문제 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에서 일별 이름이 같은 경우 어떻게 내 디렉토리를 올바르게 구성하고 파일을로드 할 수 있습니까?
예 :
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
.
.
.
미리 감사드립니다
@Otavio R. Rossi : 데이터가 이미 hdfs에있는 경우 3 개의 (외부) 테이블, 로그인, 로그 아웃 및 요청할 수 있습니다.
같은 것,
CREATE EXTERNAL TABLE login(
request_id INT,
date_out TIMESTAMP,
destination STRING
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '|'
STORED AS TEXTFILE;
LOAD DATA INPATH 'hdfs location'
이제 이러한 테이블은 용도에 따라 날짜 또는 년 / 월 / 일별로 분할 할 수 있습니다.
또한 상관 관계를 찾고있는 경우 request_id에서 3 개의 테이블을 모두 조인하여 모든 데이터를 하나의 테이블에로드하는 것을 고려할 수 있습니다. 도움이 되었기를 바랍니다 !
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다