144.4. 전략 분할
현재 버전의 Cryostat에서는 매우 신뢰할 수 없으므로 append 모드에서 파일을 열 수 없습니다. 따라서 현재는 새 파일만 생성할 수 있습니다. Camel HDFS 끝점은 다음과 같은 방식으로 이 문제를 해결하려고 합니다.
- 분할 전략 옵션이 정의된 경우 hdfs 경로가 디렉터리로 사용되며 구성된 UuidGenerator를 사용하여 파일이 생성됩니다.
-
분할 조건이 충족될 때마다 새 파일이 생성됩니다.
splitStrategy 옵션은 다음 구문을 사용하여 문자열로 정의됩니다.
splitStrategy=<ST>:<value>,<ST>:<value>,*
여기서 <ST>는 다음과 같습니다.
- BYTES 새 파일이 생성되고 쓰기 바이트 수가 <value>보다 크면 이전 파일이 닫힙니다.
- MESSAGES 새 파일이 생성되고 작성된 메시지 수가 <value>보다 크면 이전 파일이 종료됩니다.
- 새 파일이 생성되고 마지막 <value> 밀리초 내에 쓰기가 수행되지 않은 경우 이전 파일이 종료됩니다.
참고
이 전략에서는 현재 BYTES/MESSAGES 구성…otherwise를 사용하기 위해 HdfsConstants.HDFS_CLOSE 헤더를 false로 설정하거나 IDLE 값을 설정해야 합니다.
예를 들면 다음과 같습니다.
hdfs://localhost/tmp/simple-file?splitStrategy=IDLE:1000,BYTES:5
즉, 1초 이상 유휴 상태이거나 5바이트를 초과하는 경우 새 파일이 생성됩니다. 따라서oop fs -ls /tmp/simple-file
을 실행하면 여러 파일이 생성된 것을 확인할 수 있습니다.