Share via


Azure Databricks에서 구조적 스트리밍 일괄 처리 크기 구성

구조적 스트리밍 쿼리에 대한 입력 속도를 제한하면 일관된 일괄 처리 크기를 유지하는 데 도움이 되며 대량 일괄 처리로 인해 분산 및 연속 마이크로 일괄 처리 지연이 발생하지 않도록 방지할 수 있습니다.

Azure Databricks는 Delta Lake 및 자동 로더 모두에 대해 구조적 스트리밍 일괄 처리 크기를 제어하는 동일한 옵션을 제공합니다.

maxFilesPerTrigger를 사용하여 입력 속도 제한

maxFilesPerTrigger 설정(또는 자동 로더의 경우 cloudFiles.maxFilesPerTrigger)은 각 마이크로 일괄 처리에서 처리되는 파일 수에 대한 상한을 지정합니다. Delta Lake 및 자동 로더의 기본값은 1000입니다. (이 옵션은 기본적으로 최댓값이 없는 다른 파일 원본의 경우 Apache Spark에도 있습니다.)

maxBytesPerTrigger를 사용하여 입력 속도 제한

maxBytesPerTrigger 설정(또는 자동 로더의 경우 cloudFiles.maxBytesPerTrigger)은 각 마이크로 일괄 처리에서 처리되는 데이터의 양에 대해 "소프트 최댓값"을 설정합니다. 즉, 일괄 처리는 대략 이 규모의 데이터를 처리하며, 가장 작은 입력 단위가 이 제한보다 큰 경우 스트리밍 쿼리를 진행하기 위해 제한보다 더 많이 처리할 수 있습니다. 이 설정에는 기본값이 없습니다.

예를 들어 각 마이크로 일괄 처리를 10GB의 데이터로 제한하는 10g와 같은 바이트 문자열을 지정하고 각각 3GB인 파일이 있는 경우 Azure Databricks는 마이크로 일괄 처리에서 12GB를 처리합니다.

여러 입력 속도를 함께 설정

maxBytesPerTriggermaxFilesPerTrigger와 함께 사용하는 경우 마이크로 일괄 처리는 maxFilesPerTrigger 또는 maxBytesPerTrigger의 하한에 도달할 때까지 데이터를 처리합니다.

다른 구조적 스트리밍 원본에 대한 입력 속도 제한

Apache Kafka와 같은 스트리밍 원본에는 각각 사용자 지정 입력 제한(예: maxOffsetsPerTrigger)이 있습니다. 자세한 내용은 스트리밍 데이터 원본 구성을 참조 하세요.