# Apache Kafka 데이터 스트림

Apache Kafka 클러스터에 연결하여 Qlik 오픈 레이크하우스 프로젝트에서 스트리밍 데이터 소스로 사용합니다. Kafka 연결은 스트리밍 랜딩 작업 및 스트리밍 변환 작업에서만 사용할 수 있습니다.

Qlik 오픈 레이크하우스를 통해 조직은 개방적이고 확장 가능한 아키텍처에서 실시간 분석 준비 파이프라인을 구축할 수 있습니다. Apache Kafka를 스트리밍 소스로 통합하여 Qlik는 대용량 이벤트 데이터를 Apache Iceberg 테이블로 지속적으로 수집하는 것을 지원합니다. 이 조합은 낮은 지연 시간의 데이터 가용성과 강력한 스키마 진화를 제공하여 팀이 실시간 인사이트를 운영하고 다운스트림 변환을 가속화할 수 있도록 합니다.

스트리밍 랜딩 작업과 스트리밍 변환 작업은 Kafka 토픽이 Qlik 오픈 레이크하우스 프로젝트의 핵심 구성 요소가 되도록 합니다. 데이터가 Iceberg로 스트리밍되면 분석, AI 및 머신러닝 워크로드에 빠르게 액세스할 수 있어 시간에 민감한 의사 결정과 확장 가능한 데이터 엔지니어링 방식을 지원합니다. 그 결과, 스트리밍 아키텍처의 안정성과 성능을 강화하는 통합된 쿼리 최적화 데이터 레이어가 탄생합니다. 클라우드 데이터 웨어하우스 쿼리 엔진을 사용하여 Kafka의 데이터를 분석하려면, 데이터를 Qlik 오픈 레이크하우스에 랜딩하고 저장한 다음 [미러 데이터 작업](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Lakehouse/mirroring-data.htm)을 사용하여 데이터를 웨어하우스에 미러링합니다.

## 전제 조건

Kafka 스트리밍 소스를 생성하고 사용할 때 다음 요구 사항이 적용됩니다.

* 브로커 서버에 네트워크 연결이 있는 네트워크 통합.

* 연결하려는 Kafka 클러스터가 랜딩 작업을 실행할 Lakehouse 클러스터가 있는 VPC에서 액세스할 수 있는지 확인합니다.

* Kafka 스트리밍 소스 연결에는 Qlik 오픈 레이크하우스 대상 플랫폼이 필요합니다.

## Kafka 연결 속성 설정

Kafka 연결을 구성하려면 다음을 수행합니다:

1. 연결에서 연결 만들기를 클릭합니다.

2. 연결을 생성할 스페이스를 선택하거나 새 데이터 스페이스 생성을(를) 선택합니다.

3. 커넥터 이름 목록에서 Kafka를 선택하거나 검색 상자를 사용합니다. 유형이 소스이고 범주가 스트리밍인지 확인합니다.

4. 다음 속성을 구성합니다:

### 데이터 소스

데이터 소스 연결 속성을 다음과 같이 설정합니다.

* 목록에서 네트워크 통합을 선택합니다.

* 브로커 서버에서 hostname:port 형식으로 단일 호스트를 입력합니다(예: host1:9092).

  호스트 목록을 입력하려면 hostname:port, hostname:port 형식을 사용합니다(예: host1:9092,host2:9092).

### 인증 세부 정보

* 목록에서 인증 방법을 선택합니다.

  * SASL/SCRAM-SHA-512: 이 옵션은 SCRAM-SHA-512 메커니즘을 사용하여 사용자 이름과 암호로 인증합니다. 이것은 가장 안전한 SCRAM 변형이며, Kafka 클러스터에 일치하는 SCRAM-SHA-512 자격 증명이 구성되어 있어야 합니다.

정보 메모목록에 없는 대체 인증 방법을 사용하려면 Qlik 지원팀에 문의하십시오.

:

#### SASL/SCRAM-SHA-256

연결에 대한 사용자 이름과 암호를 입력하십시오.

### TLS

선택적으로 인증 기관(CA)을 추가할 수 있습니다.

* CA를 추가하려면 사용자 지정 신뢰 CA 사용을 선택하십시오.

* CA 경로에서 Qlik Cloud에 업로드할 CA 파일의 경로를 입력하십시오. CA 파일은 작업을 실행하는 클러스터에서 사용할 수 있습니다.

### 추가 Kafka 속성

추가 Kafka 속성은 선택 사항입니다.

리소스를 식별, 구성 및 관리하는 데 도움이 되는 태그에 대해 키와 값을 추가합니다.

### 스키마 레지스트리 연결

스키마 레지스트리 서버는 선택 사항입니다.

스키마 레지스트리에 연결하려면 스키마 레지스트리 서버 설정을(를) 클릭하고 설정을 구성합니다.

* 스키마 레지스트리 URI: URI를 다음 형식으로 입력합니다. http://schema-registry1.example.com:8081;http://schema-registry2.example.com:8081.

* 사용자 이름: 서버 연결에 사용할 사용자 이름을 입력합니다.

* 암호: 서버 연결에 사용할 암호를 입력합니다.

#### 스키마 레지스트리 연결 TLS

스키마 레지스트리 서버를 구성하도록 선택하는 경우 CA(인증 기관)를 추가하는 옵션이 있습니다.

* CA를 추가하려면 사용자 지정 신뢰 CA 사용을 선택합니다.

* CA 경로에 Qlik Cloud에 업로드할 CA 파일의 경로를 입력합니다. CA 파일은 작업을 실행하는 클러스터에서 사용할 수 있습니다.

### 연결 만들기

보안 방법을 구성한 후 다음 단계를 완료하여 연결을 생성합니다.

* 이름에 연결의 표시 이름을 입력합니다. 예를 들어 My Kafka Streaming Source connection.

* 자격 증명을 확인하려면 연결 테스트를 클릭합니다.

* 만들기를 클릭합니다.

## 토픽을 데이터 세트에 매핑

Kafka 소스에서 수집할 때 다음 사용 사례가 지원됩니다.

| 항목 | 대상 데이터 집합 | 사용 사례 | 매핑 |
| --- | --- | --- | --- |
| 하나 | 하나 | 각 토픽이 대상 데이터 집합에 로드됩니다. | 스트리밍 랜딩 작업의 데이터 집합 매핑에서 지원됩니다. |
| 하나 | 여러 개 | 토픽을 여러 데이터 세트에 복제합니다. | 대상에 추가를 여러 번 사용하여 지원됩니다. |
| 하나 | 다수 | 이벤트를 여러 대상으로 분할합니다. 예를 들어, 이벤트에 orders 및 order lines가 포함되어 있으며, 이들은 여러 데이터 세트로 분할됩니다. | 스트리밍 변환 작업에서 지원됩니다. 데이터 세트를 복제하고 각 데이터 세트에서 다른 필드를 선택하거나, 변환 흐름 내에서 포크 프로세서와 열 선택 프로세서를 사용합니다. |
| 하나 | 여러 개 | 특정 열 값을 기준으로 토픽을 여러 데이터세트로 분할합니다. | 스트리밍 변환 작업에서 지원됩니다. 토픽을 여러 데이터세트로 분할하는 데 사용되는 각 열 값에 대해 필터 프로세서를 구성합니다. 일치하지 않는 레코드를 처리하려면 일치하지 않는 데이터를 별도의 데이터 세트로 출력하는 추가 필터 프로세서를 구성합니다. |
| 여러 개 | 하나 | 특정 기준을 충족하는 모든 토픽을 동일한 대상 데이터 세트로 수집하거나 특정 토픽을 동일한 데이터 세트로 수집합니다. | 스트리밍 랜딩 작업의 데이터 세트 맵핑에서 지원됩니다. 여러 토픽이 단일 데이터 세트에 로드되고 토픽 로드 작업 중 하나가 실패하면 데이터 세트에 오류가 발생하고 다른 토픽의 로드가 중단됩니다. |