다음을 통해 공유


빠른 시작: 웹 도구를 사용하여 Azure Synapse Analytics에서 서버리스 Apache Spark 풀 만들기

이 빠른 시작에서는 웹 도구를 사용하여 Azure Synapse에서 서버리스 Apache Spark 풀을 만드는 방법을 알아봅니다. 그런 다음, Apache Spark 풀에 연결하고 파일 및 테이블에 대해 Spark SQL 쿼리를 실행하는 방법을 알아봅니다. Apache Spark를 사용하면 메모리 내 처리를 사용하여 빠른 데이터 분석 및 클러스터 컴퓨팅을 수행할 수 있습니다. Azure Synapse의 Spark에 대한 자세한 내용은 개요: Azure Synapse의 Apache Spark를 참조하세요.

중요합니다

Spark 인스턴스에 대한 청구는 사용 여부에 관계없이 분당 비례 배분됩니다. 사용을 완료한 후 Spark 인스턴스를 종료하거나 짧은 시간 제한을 설정해야 합니다. 자세한 내용은 이 문서의 리소스 정리 섹션을 참조하세요.

Azure 구독이 없는 경우 시작하기 전에 체험 계정을 만듭니다.

필수 조건

Azure Portal에 로그인

Azure Portal에 로그인합니다.

Azure 구독이 아직 없는 경우 시작하기 전에 Azure 체험 계정을 만듭니다.

Notebook 만들기

Notebook은 다양한 프로그래밍 언어를 지원하는 대화형 환경입니다. Notebook을 사용하면 데이터와 상호 작용하고, 코드를 markdown, 텍스트와 결합하고, 간단한 시각화를 수행할 수 있습니다.

  1. 사용하려는 Azure Synapse 작업 영역에 대한 Azure Portal 보기에서 Synapse Studio 시작을 선택합니다.

  2. Synapse Studio가 시작되면 개발을 선택합니다. 그런 다음"+ 아이콘을 선택하여 새 리소스를 추가합니다.

  3. 여기에서 Notebook을 선택합니다. 새 전자 필기장이 만들어지고 자동으로 생성된 이름으로 열립니다.

    새 전자 필기장

  4. 속성 창에서 Notebook의 이름을 입력합니다.

  5. 도구 모음에서 게시를 클릭합니다.

  6. 작업 영역에 Apache Spark 풀이 하나만 있는 경우 기본적으로 선택됩니다. 드롭다운을 사용하여 선택하지 않은 경우 올바른 Apache Spark 풀을 선택합니다.

  7. 코드 추가를 클릭합니다. 기본 언어는 .입니다 Pyspark. Pyspark와 Spark SQL을 혼합하여 사용하므로 기본 선택은 괜찮습니다. 지원되는 다른 언어로는 Spark용 Scala 및 .NET이 있습니다.

  8. 다음으로 조작할 간단한 Spark DataFrame 개체를 만듭니다. 이 경우 코드에서 만듭니다. 세 개의 행과 세 개의 열이 있습니다.

    new_rows = [('CA',22, 45000),("WA",35,65000) ,("WA",50,85000)]
    demo_df = spark.createDataFrame(new_rows, ['state', 'age', 'salary'])
    demo_df.show()
    
  9. 이제 다음 방법 중 하나를 사용하여 셀을 실행합니다.

    • Shift + Enter를 누릅니다.

    • 셀 왼쪽의 파란색 재생 아이콘을 선택합니다.

    • 도구 모음에서 모두 실행 단추를 선택합니다.

      데이터 프레임 개체 만들기

  10. Apache Spark 풀 인스턴스가 아직 실행되고 있지 않으면 자동으로 시작됩니다. 실행 중인 셀 아래의 Apache Spark 풀 인스턴스 상태와 Notebook 아래쪽의 상태 패널에서도 확인할 수 있습니다. 풀 크기에 따라 시작하는 데 2~5분이 소요됩니다. 코드 실행이 완료되면 셀 아래의 정보가 실행되는 데 걸린 시간 및 해당 실행을 보여 줍니다. 출력 셀에 출력이 표시됩니다.

    셀 실행의 출력

  11. 이제 데이터는 데이터 프레임에 존재하며 여러 가지 방법으로 데이터를 사용할 수 있습니다. 당신은 이 빠른 시작의 남은 부분을 위해 그것을 다양한 형식으로 필요로 할 것입니다.

  12. 아래 코드를 다른 셀에 입력하고 실행합니다. 그러면 Spark 테이블, CSV 및 Parquet 파일이 모두 데이터 복사본과 함께 만들어집니다.

     demo_df.createOrReplaceTempView('demo_df')
     demo_df.write.csv('demo_df', mode='overwrite')
     demo_df.write.parquet('abfss://<<TheNameOfAStorageAccountFileSystem>>@<<TheNameOfAStorageAccount>>.dfs.core.windows.net/demodata/demo_df', mode='overwrite')
    

    스토리지 탐색기를 사용하는 경우 위에서 사용한 파일을 작성하는 두 가지 방법의 영향을 확인할 수 있습니다. 파일 시스템을 지정하지 않으면 이 경우 default>user>trusted-service-user>demo_df기본값이 사용됩니다. 데이터는 지정된 파일 시스템의 위치에 저장됩니다.

    쓰기 작업을 수행할 때 "csv" 및 "parquet" 형식 모두에서 여러 개의 분할된 파일로 구성된 디렉터리가 생성되는 것을 확인할 수 있습니다.

    스토리지 탐색기의 출력 보기

    기본 > demodata > demo_df 경로를 강조 표시하는 스크린샷

Spark SQL 문 실행

SQL(구조적 쿼리 언어)은 데이터를 쿼리하고 정의하는 데 가장 일반적이고 널리 사용되는 언어입니다. Spark SQL은 친숙한 SQL 구문을 사용하여 구조화된 데이터를 처리하기 위해 Apache Spark에 대한 확장으로 작동합니다.

  1. 빈 셀에 다음 코드를 붙여넣은 다음 코드를 실행합니다. 이 명령은 풀의 테이블을 나열합니다.

    %%sql
    SHOW TABLES
    

    Azure Synapse Apache Spark 풀에서 Notebook을 사용하는 경우 Spark SQL을 사용하여 쿼리를 실행하는 데 사용할 수 있는 미리 설정 sqlContext 이 표시됩니다. %%sql 는 사전 설정을 sqlContext 사용하여 쿼리를 실행하도록 Notebook에 지시합니다. 쿼리는 기본적으로 모든 Azure Synapse Apache Spark 풀과 함께 제공되는 시스템 테이블에서 상위 10개 행을 검색합니다.

  2. 다른 쿼리를 실행하여 demo_df의 데이터를 봅니다.

    %%sql
    SELECT * FROM demo_df
    

    이 코드는 두 개의 출력 셀을 생성합니다. 하나는 데이터 결과를 포함하고 다른 하나는 작업 보기를 보여 줍니다.

    기본적으로 결과 보기에는 표가 표시됩니다. 하지만 그리드 아래에는 보기가 그리드 뷰와 그래프 뷰 간에 전환할 수 있는 뷰 전환기가 있습니다.

    Azure Synapse Spark에서 쿼리 출력

  3. 보기 전환기에서 차트를 선택합니다.

  4. 맨 오른쪽에서 보기 옵션 아이콘을 선택합니다.

  5. 차트 종류 필드에서 "가로 막대형 차트"를 선택합니다.

  6. X축 열 필드에서 "상태"를 선택합니다.

  7. Y축 열 필드에서 "급여"를 선택합니다.

  8. 집계 필드에서 "AVG"로 선택합니다.

  9. 적용을 선택합니다.

    Azure Synapse Spark의 차트 출력

  10. 언어를 전환하지 않고도 SQL을 실행하는 것과 동일한 환경을 얻을 수 있습니다. 위의 SQL 셀을 이 PySpark 셀로 바꿔서 이 작업을 수행할 수 있습니다. 표시 명령이 사용되므로 출력 환경이 동일합니다.

    display(spark.sql('SELECT * FROM demo_df'))
    
  11. 이전에 실행한 각 셀에는 기록 서버모니터링으로 이동하는 옵션이 있었습니다. 링크를 클릭하면 사용자 환경의 다른 부분으로 이동합니다.

비고

Apache Spark 공식 설명서 중 일부는 Synapse Spark에서 사용할 수 없는 Spark 콘솔 사용에 의존합니다. 대신 Notebook 또는 IntelliJ 환경을 사용합니다.

자원을 정리하세요

Azure Synapse는 Azure Data Lake Storage에 데이터를 저장합니다. Spark 인스턴스를 사용하지 않을 때 안전하게 종료할 수 있습니다. 서버리스 Apache Spark 풀이 실행되고 있지 않은 경우에도 서버리스 Apache Spark 풀에 대한 요금이 청구됩니다.

풀에 대한 요금은 스토리지에 대한 요금보다 여러 배 더 많기 때문에 사용하지 않을 때 Spark 인스턴스를 종료하는 것이 경제적입니다.

Spark 인스턴스가 종료되도록 하려면 연결된 세션(Notebook)을 종료합니다. Apache Spark 풀에 지정된 유휴 시간에 도달하면 풀이 종료됩니다. 전자 필기장 아래쪽의 상태 표시줄에서 세션 종료 를 선택할 수도 있습니다.

다음 단계

이 빠른 시작에서는 서버리스 Apache Spark 풀을 만들고 기본 Spark SQL 쿼리를 실행하는 방법을 알아보았습니다.