다음을 통해 공유


SQL 분석 엔드포인트를 사용하여 Lakehouse로 스트리밍 데이터 가져오기 및 액세스

이 빠른 시작에서는 Spark 구조적 스트리밍이 포함된 Python 코드가 포함된 Spark 작업 정의를 만들어 Lakehouse에 데이터를 배치한 다음 SQL 분석 엔드포인트를 통해 제공하는 방법을 설명합니다. 이 빠른 시작을 완료하면 지속적으로 실행되는 Spark 작업 정의가 생성되고 SQL 분석 엔드포인트에서 들어오는 데이터를 볼 수 있습니다.

Python 스크립트 만들기

다음 Python 스크립트를 사용하여 Apache Spark를 사용하여 레이크하우스에 스트리밍 델타 테이블을 만듭니다. 스크립트는 생성된 데이터 스트림(초당 한 행)을 읽고 추가 모드로 해당 스트림을 Delta streamingtable테이블에 씁니다. 지정된 레이크하우스에 데이터 및 검사점 정보를 저장합니다.

  1. Spark 구조적 스트리밍을 사용하여 Lakehouse 테이블에서 데이터를 가져오는 다음 Python 코드를 사용합니다.

    from pyspark.sql import SparkSession
    
    if __name__ == "__main__":
     # Start Spark session
     spark = SparkSession.builder \
         .appName("RateStreamToDelta") \
         .getOrCreate()
    
     # Table name used for logging
     tableName = "streamingtable"
    
     # Define Delta Lake storage path
     deltaTablePath = f"Tables/{tableName}"
    
     # Create a streaming DataFrame using the rate source
     df = spark.readStream \
         .format("rate") \
         .option("rowsPerSecond", 1) \
         .load()
    
     # Write the streaming data to Delta
     query = df.writeStream \
         .format("delta") \
         .outputMode("append") \
         .option("path", deltaTablePath) \
         .option("checkpointLocation", f"{deltaTablePath}/_checkpoint") \
         .start()
    
     # Keep the stream running
     query.awaitTermination()
    
  2. 스크립트를 로컬 컴퓨터에 Python 파일(.py)로 저장합니다.

Lakehouse 만들기

Lakehouse를 만들려면 다음 단계를 따르세요.

  1. Microsoft Fabric 포털에 로그인하세요.

  2. 원하는 작업 영역으로 이동하거나 필요한 경우 새 작업 영역을 만듭니다.

  3. 레이크하우스를 만들려면 작업 영역에서 새 항목을 선택한 다음, 열리는 패널에서 Lakehouse 를 선택합니다.

    새로운 Lakehouse 대화 상자를 보여주는 스크린샷.

  4. Lakehouse의 이름을 입력하고 만들기를 선택합니다.

Spark 작업 정의 만들기

다음 단계에 따라 Spark 작업 정의를 만드세요.

  1. 레이크하우스를 만든 동일한 작업 영역에서 새 항목을 선택합니다.

  2. 열리는 패널의 데이터 가져오기 아래에서 Spark 작업 정의를 선택합니다.

  3. Spark 작업 정의의 이름을 입력하고 만들기를 선택합니다.

  4. 업로드를 선택하고 이전 단계에서 만든 Python 파일을 선택합니다.

  5. Lakehouse 레퍼런스에서 생성한 Lakehouse를 선택합니다.

Spark 작업 정의에 대한 재시도 정책 설정

다음 단계를 사용하여 Spark 작업 정의에 대한 재시도 정책을 설정합니다.

  1. 상단 메뉴에서 설정 아이콘을 선택합니다.

    Spark 작업 정의 설정 아이콘을 보여 주는 스크린샷

  2. 최적화 탭을 열고 다시 시도 정책 트리거를 설정합니다.

    Spark 작업 정의 최적화 탭을 보여 주는 스크린샷

  3. 최대 재시도를 정의하거나 무제한 시도 허용을 선택합니다.

  4. 각 재시도 사이의 시간을 지정하고 적용을 선택합니다.

참고

재시도 정책 설정의 수명 제한은 90일입니다. 다시 시도 정책을 사용하도록 설정하면 90일 이내에 정책에 따라 작업이 다시 시작됩니다. 이 기간이 지나면 재시도 정책이 자동으로 작동이 중단되고 작업이 종료됩니다. 그런 다음 사용자는 작업을 수동으로 다시 시작해야 하며, 그러면 재시도 정책을 다시 사용하도록 설정합니다.

Spark 작업 정의 실행 및 모니터링

  1. 상단 메뉴에서 실행 아이콘을 선택합니다.

    Spark 작업 정의 실행 아이콘을 보여 주는 스크린샷

  2. Spark 작업 정의가 성공적으로 제출되어 실행 중인지 확인합니다.

SQL 분석 엔드포인트를 사용하여 데이터 보기

스크립트가 실행되면 타임스탬프 열이 있는 streamingtable이라는 테이블이 Lakehouse에 만들어집니다. SQL 분석 엔드포인트를 사용하여 데이터를 볼 수 있습니다.

  1. 작업 영역에서 Lakehouse를 엽니다.

  2. 오른쪽 위 모서리에서 SQL 분석 엔드포인트 로 전환합니다.

  3. 왼쪽 탐색 창에서 스키마 > dbo >테이블을 확장하고 스트리밍 테이블을 선택하여 데이터를 미리 봅니다.