Azure Databricks에서 Azure Cosmos DB for Apache Cassandra 데이터에 액세스
적용 대상: Cassandra
이 문서에서는 Azure Databricks의 Spark에서 Azure Cosmos DB for Apache Cassandra를 사용하는 방법을 자세히 설명합니다.
필수 조건
Cassandra 커넥터용 API for Cassandra 인스턴스 구성:
API for Cassandra용 커넥터에서는 Spark 컨텍스트의 일부분으로 Cassandra 연결 세부 정보를 초기화해야 합니다. Databricks Notebook을 시작하면 Spark 컨텍스트는 이미 초기화되어 있으므로 Notebook을 중지하고 컨텍스트를 다시 초기화해서는 안 됩니다. 이러한 경우에 사용할 수 있는 방법 중 하나는 클러스터 Spark 구성에서 클러스터 수준에 API for Cassandra 인스턴스 구성을 추가하는 것입니다. 이 작업은 클러스터당 한 번씩만 수행하면 됩니다. 다음 코드를 공백으로 구분된 키-값 쌍으로 Spark 구성에 추가합니다.
spark.cassandra.connection.host YOUR_COSMOSDB_ACCOUNT_NAME.cassandra.cosmosdb.azure.com spark.cassandra.connection.port 10350 spark.cassandra.connection.ssl.enabled true spark.cassandra.auth.username YOUR_COSMOSDB_ACCOUNT_NAME spark.cassandra.auth.password YOUR_COSMOSDB_KEY
필수 종속성 추가
Cassandra Spark 커넥터: - Azure Cosmos DB for Apache Cassandra를 Spark와 통합하려면 Cassandra 커넥터를 Azure Databricks 클러스터에 연결해야 합니다. 클러스터를 연결하려면 다음 작업을 수행합니다.
- Databricks 런타임 버전과 Spark 버전을 검토합니다. 그런 다음, Cassandra Spark 커넥터와 호환되는 Maven 좌표를 찾아서 클러스터에 연결합니다. 클러스터에 커넥터 라이브러리를 연결하려는 경우 "Maven 패키지 또는 Spark 패키지 업로드" 문서를 참조하세요. Spark 3.2.1을 지원하는 Databricks Runtime 버전 10.4 LTS를 선택하는 것이 좋습니다. Apache Spark Cassandra 커넥터, 클러스터를 추가하려면 라이브러리>새로 설치>Maven을 선택한 다음 Maven 좌표에
com.datastax.spark:spark-cassandra-connector-assembly_2.12:3.2.0
을 추가합니다. Spark 2.x를 사용하는 경우 maven 좌표com.datastax.spark:spark-cassandra-connector_2.11:2.4.3
에서 Spark 커넥터를 사용하는 Spark 버전 2.4.5 환경을 권장합니다.
- Databricks 런타임 버전과 Spark 버전을 검토합니다. 그런 다음, Cassandra Spark 커넥터와 호환되는 Maven 좌표를 찾아서 클러스터에 연결합니다. 클러스터에 커넥터 라이브러리를 연결하려는 경우 "Maven 패키지 또는 Spark 패키지 업로드" 문서를 참조하세요. Spark 3.2.1을 지원하는 Databricks Runtime 버전 10.4 LTS를 선택하는 것이 좋습니다. Apache Spark Cassandra 커넥터, 클러스터를 추가하려면 라이브러리>새로 설치>Maven을 선택한 다음 Maven 좌표에
Azure Cosmos DB for Apache Cassandra 관련 라이브러리: - Spark 2.x를 사용 중인 경우 Cassandra Spark 커넥터에서 Azure Cosmos DB for Apache Cassandra로의 재시도 정책을 구성하려면 사용자 지정 연결 팩터리가 필요합니다.
com.microsoft.azure.cosmosdb:azure-cosmos-cassandra-spark-helper:1.2.0
Maven 좌표를 추가하여 클러스터에 라이브러리를 연결합니다.
참고 항목
Spark 3.x를 사용하는 경우 위에서 언급한 Azure Cosmos DB for Apache Cassandra 관련 라이브러리를 설치할 필요가 없습니다.
Warning
이 문서에 표시된 Spark 3 샘플은 Spark 버전 3.2.1 및 해당 Cassandra Spark 커넥터 com.datastax.spark:spark-cassandra-connector-assembly_2.12:3.2.0으로 테스트되었습니다. Spark 및/또는 Cassandra 커넥터의 최신 버전은 예상대로 작동하지 않을 수 있습니다.
샘플 Notebook
Azure Databricks 샘플 Notebook 목록은 GitHub 리포지토리에서 다운로드할 수 있습니다. 이러한 샘플에는 Spark에서 Azure Cosmos DB for Apache Cassandra에 연결하여 데이터에 대해 다양한 CRUD 작업을 수행하는 방법이 포함되어 있습니다. Databricks 클러스터 작업 영역으로 모든 Notebook을 가져와서 실행할 수도 있습니다.
Spark Scala 프로그램에서 Azure Cosmos DB Cassandra API 액세스
Azure Databricks에서 자동화된 프로세스로 실행할 Spark 프로그램은 spark-submit)를 사용하여 클러스터에 제출되며, Azure Databricks 작업을 통해 실행되도록 예약됩니다.
아래에는 Azure Cosmos DB for Apache Cassandra와 상호 작용하도록 할 Spark Scala 프로그램 빌드를 시작하는 데 필요한 정보를 제공하는 문서의 링크가 나와 있습니다.
- Spark Scala 프로그램에서 Azure Cosmos DB for Apache Cassandra에 연결하는 방법
- Azure Databricks에서 Spark Scala 프로그램을 자동화된 작업으로 실행하는 방법
- API for Cassandra 사용을 위한 코드 샘플의 전체 목록
다음 단계
Java 애플리케이션을 사용하여 API for Cassandra 계정, 데이터베이스 및 테이블 만들기를 시작합니다.