4단계: Amazon 키스페이스에서 원본 데이터 및 대상 테이블 준비 - Amazon Keyspaces(Apache Cassandra용)

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

4단계: Amazon 키스페이스에서 원본 데이터 및 대상 테이블 준비

이 단계에서는 샘플 데이터와 Amazon Keyspaces 테이블을 사용하여 소스 파일을 생성합니다.

  1. 소스 파일을 생성합니다. 다음 옵션 중 하나를 선택할 수 있습니다.

    • 이 자습서에서는 이름이keyspaces_sample_table.csv 있는 CSV (쉼표로 구분된 값) 파일 (CSV) 을 데이터 마이그레이션의 소스 파일로 사용합니다. 제공된 샘플 파일에는 이름이 있는 테이블에 대한 몇 개의 데이터 행이 포함되어book_awards 있습니다.

      1. 다음 아카이브 파일 samplemigration.zip 에 포함된 샘플 CSV 파일 (keyspaces_sample_table.csv) 을 다운로드합니다. 아카이브의 압축을 해제하고 경로를 기록해 둡니다keyspaces_sample_table.csv.

    • 자체 CSV 파일을 따라 Amazon Keyspace에 데이터를 쓰려면 데이터가 무작위로 지정되었는지 확인하십시오. 데이터베이스에서 직접 읽거나 플랫 파일로 내보낸 데이터는 일반적으로 파티션과 기본 키를 기준으로 정렬됩니다. 순서가 지정된 데이터를 Amazon Keyspace로 가져오면 Amazon Keyspaces 파티션의 더 작은 세그먼트에 데이터가 기록되어 트래픽 분포가 고르지 않을 수 있습니다. 이로 인해 성능이 저하되고 오류율이 높아질 수 있습니다.

      반대로 데이터를 무작위화하면 트래픽을 여러 파티션에 더 균등하게 분산하여 Amazon Keyspace의 기본 로드 밸런싱 기능을 활용할 수 있습니다. 데이터를 랜덤화하는 데 사용할 수 있는 다양한 도구가 있습니다. 오픈 소스 도구인 Shuf를 사용하는 예제는 데이터 마이그레이션2단계: 데이터 준비 튜토리얼의 을 참조하십시오. 다음은 데이터를 a로 셔플하는 방법을 보여주는 예제입니다DataFrame.

      import org.apache.spark.sql.functions.randval shuffledDF = dataframe.orderBy(rand())
  2. Amazon 키스페이스에서 대상 키스페이스와 테이블을 생성합니다.

    1. 다음 예제의 서비스 엔드포인트cqlsh, 사용자 이름 및 암호를 사용하여 Amazon Keyspace에 Connect 자체 값으로 바꿉니다.

      cqlsh cassandra.us-east-2.amazonaws.com 9142 -u "111122223333" -p "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" --ssl
    2. 다음 예제와catalog 같이 이름을 사용하여 새 키스페이스를 생성합니다.

      CREATE KEYSPACE catalog WITH REPLICATION = {'class': 'SingleRegionStrategy'};
    3. 새 키스페이스가 사용 가능 상태가 되면 다음 코드를 사용하여 대상 테이블을 생성합니다book_awards. 비동기 리소스 생성 및 리소스 사용 가능 여부를 확인하는 방법에 대한 자세한 내용은 을 참조하십시오Amazon 키스페이스에서 Keyspaces 만들기.

      CREATE TABLE catalog.book_awards ( year int, award text, rank int, category text, book_title text, author text, publisher text, PRIMARY KEY ((year, award), category, rank) );