

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

# HealthOmics 분석 데이터 쿼리
<a name="analytics-query-data"></a>

**중요**  
AWS HealthOmics 변형 저장소 및 주석 저장소는 더 이상 신규 고객에게 공개되지 않습니다. 기존 고객은 정상적으로 서비스를 계속 이용할 수 있습니다. 자세한 내용은 [AWS HealthOmics 변형 저장소 및 주석 저장소 가용성 변경](variant-store-availability-change.md) 단원을 참조하십시오.

 AWS Lake Formation 및 Amazon Athena 또는 Amazon EMR을 사용하여 변형 스토어에 대한 쿼리를 수행할 수 있습니다. 쿼리를 실행하기 전에 Lake Formation 및 Amazon Athena에 대한 설정 절차(다음 섹션에 설명됨)를 완료합니다.

Amazon EMR에 대한 자세한 내용은 [ 자습서: Amazon EMR 시작하기를 참조하세요.](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-gs.html)

2024년 9월 26일 이후에 생성된 변형 저장소의 경우 HealthOmics는 샘플 ID로 저장소를 분할합니다. 이 파티셔닝은 HealthOmics가 샘플 ID를 사용하여 변형 정보의 저장을 최적화함을 의미합니다. 샘플 정보를 필터로 사용하는 쿼리는 쿼리가 데이터를 더 적게 스캔하므로 결과를 더 빨리 반환합니다.

HealthOmics는 샘플 IDs 파티션 파일 이름으로 사용합니다. 데이터를 수집하기 전에 샘플 ID에 PHI 데이터가 포함되어 있는지 확인합니다. 그럴 경우 데이터를 수집하기 전에 샘플 ID를 변경합니다. 샘플 IDs에 포함하거나 포함하지 않을 콘텐츠에 대한 자세한 내용은 AWS [ HIPAA 규정 준수](https://aws.amazon.com/compliance/hipaa-compliance) 웹 페이지의 지침을 참조하세요.

**Topics**
+ [HealthOmics를 사용하도록 Lake Formation 구성](setting-up-lf.md)
+ [쿼리에 대한 Athena 구성](analytics-setting-up-athena.md)
+ [HealthOmics 변형 저장소에서 쿼리 실행](analytics-run-queries.md)

# HealthOmics를 사용하도록 Lake Formation 구성
<a name="setting-up-lf"></a>

**중요**  
AWS HealthOmics 변형 저장소 및 주석 저장소는 더 이상 신규 고객에게 공개되지 않습니다. 기존 고객은 정상적으로 서비스를 계속 이용할 수 있습니다. 자세한 내용은 [AWS HealthOmics 변형 저장소 및 주석 저장소 가용성 변경](variant-store-availability-change.md) 단원을 참조하십시오.

Lake Formation을 사용하여 HealthOmics 데이터 스토어를 관리하기 전에 다음 Lake Formation 구성 절차를 수행합니다.

**Topics**
+ [Lake Formation 관리자 생성 또는 확인](#create-lf-admins)
+ [Lake Formation 콘솔을 사용하여 리소스 링크 생성](#create-resource-links)
+ [AWS RAM 리소스 공유에 대한 권한 구성](#configure-lf-permissions)

## Lake Formation 관리자 생성 또는 확인
<a name="create-lf-admins"></a>

Lake Formation에서 데이터 레이크를 생성하기 전에 하나 이상의 관리자를 정의합니다.

관리자는 리소스 링크를 생성할 권한이 있는 사용자 및 역할입니다. 리전별로 계정당 데이터 레이크 관리자를 설정합니다.

**Lake Formation 콘솔에서 관리자 생성**

1.  AWS Lake Formation 콘솔 열기: [Lake Formation 콘솔](https://console.aws.amazon.com//lakeformation)

1. 콘솔에 **Lake Formation 시작** 패널이 표시되면 **시작하기를** 선택합니다.

   Lake Formation에서 **데이터 레이크 관리자** 테이블에 사용자를 추가합니다.

1. 그렇지 않으면 왼쪽 메뉴에서 **관리 역할 및 작업을** 선택합니다.

1. 필요에 따라 관리자를 추가합니다.

## Lake Formation 콘솔을 사용하여 리소스 링크 생성
<a name="create-resource-links"></a>

사용자가 쿼리할 수 있는 공유 리소스를 만들려면 기본 액세스 제어를 비활성화해야 합니다. 기본 액세스 제어 비활성화에 대한 자세한 내용은 Lake Formation 설명서의 [데이터 레이크의 기본 보안 설정 변경을 참조하세요](https://docs.aws.amazon.com/lake-formation/latest/dg/change-settings.html). 리소스 링크를 개별적으로 또는 그룹으로 생성하여 Amazon Athena 또는 기타 AWS 서비스(예: Amazon EMR)의 데이터에 액세스할 수 있습니다.

**AWS Lake Formation 콘솔에서 리소스 링크 생성 및 HealthOmics Analytics 사용자와 공유**

1.  AWS Lake Formation 콘솔 열기: [Lake Formation 콘솔](https://console.aws.amazon.com//lakeformation)

1. 기본 탐색 모음에서 **데이터베이스를** 선택합니다.

1. **데이터베이스** 테이블에서 원하는 데이터베이스를 선택합니다.

1. **생성** 메뉴에서 **리소스 링크를** 선택합니다.

1. **리소스 링크 이름을** 입력합니다. Athena에서 데이터베이스에 액세스하려면 소문자(최대 256자)만 사용하여 이름을 입력합니다.

1. **생성(Create)**을 선택합니다.

1. 이제 새 리소스 링크가 **데이터베이스 아래에 나열됩니다**.

### Lake Formation 콘솔을 사용하여 공유 리소스에 대한 액세스 권한 부여
<a name="create-resource-links"></a>

Lake Formation 데이터베이스 관리자는 다음 절차를 사용하여 공유 리소스에 대한 액세스 권한을 부여할 수 있습니다.

1.  AWS Lake Formation 콘솔 열기: [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com//lakeformation)

1. 기본 탐색 모음에서 **데이터베이스를** 선택합니다.

1. **데이터베이스** 페이지에서 이전에 생성한 리소스 링크를 선택합니다.

1. **작업** 메뉴에서 **대상에 부여**를 선택합니다.

1. 보안 **주체** 아래의 **데이터 권한 부여** 페이지에서 **IAM 사용자 또는 역할을** 선택합니다.

1. **IAM 사용자 또는 역할** 드롭다운 메뉴에서 액세스 권한을 부여할 사용자를 찾습니다.

1. 그런 다음 **LF 태그 또는 카탈로그 리소스** 카드에서 **명명된 데이터 카탈로그 리소스** 옵션을 선택합니다.

1. **테이블-선택 사항** 드롭다운 메뉴에서 **모든 테이블** 또는 이전에 생성한 테이블을 선택합니다.

1. **테이블 권한** 카드의 **테이블 권한**에서 **설명** 및 **선택을** 선택합니다.

1. 그런 다음 **부여**를 선택합니다.

Lake Formation 권한을 보려면 기본 탐색 창에서 **데이터 레이크 권한을** 선택합니다. 이 표에는 사용 가능한 데이터베이스 및 리소스 링크가 나와 있습니다.

## AWS RAM 리소스 공유에 대한 권한 구성
<a name="configure-lf-permissions"></a>

 AWS Lake Formation 콘솔의 기본 탐색 모음에서 **데이터 레이크 권한을 선택하여 권한을** 확인합니다. **데이터 권한** 페이지에서 리소스 **유형, 데이터베이스** ****및 공유 리소스와 **ARN** 관련된 테이블을 **RAM 리소스 공유에서 볼 수 있습니다**. AWS Resource Access Manager (AWS RAM) 리소스 공유를 수락해야 하는 경우 콘솔에서에 AWS Lake Formation 알립니다.

HealthOmics는 저장소 생성 중에 AWS RAM 리소스 공유를 암시적으로 수락할 수 있습니다. AWS RAM 리소스 공유를 수락하려면 또는 `CreateAnnotationStore` API 작업을 호출하는 IAM 사용자 `CreateVariantStore` 또는 역할이 다음 작업을 허용해야 합니다.
+ `ram:GetResourceShareInvitations` -이 작업을 통해 HealthOmics는 초대를 찾을 수 있습니다.
+ `ram:AcceptResourceShareInvitation` -이 작업을 통해 HealthOmics는 FAS 토큰을 사용하여 초대를 수락할 수 있습니다.

이러한 권한이 없으면 스토어 생성 중에 권한 부여 오류가 표시됩니다.

다음은 이러한 작업을 포함하는 샘플 정책입니다. AWS RAM 리소스 공유를 수락하는 IAM 사용자 또는 역할에이 정책을 추가합니다.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "omics:*",
        "ram:AcceptResourceShareInvitation",
        "ram:GetResourceShareInvitations"
      ],
      "Resource": "*"
    }
  ]
}
```

------

# 쿼리에 대한 Athena 구성
<a name="analytics-setting-up-athena"></a>

**중요**  
AWS HealthOmics 변형 저장소 및 주석 저장소는 더 이상 신규 고객에게 공개되지 않습니다. 기존 고객은 정상적으로 서비스를 계속 이용할 수 있습니다. 자세한 내용은 [AWS HealthOmics 변형 저장소 및 주석 저장소 가용성 변경](variant-store-availability-change.md) 단원을 참조하십시오.

Athena를 사용하여 변형 및 주석을 쿼리할 수 있습니다. 쿼리를 실행하기 전에 다음 설정 작업을 수행합니다.

**Topics**
+ [Athena 콘솔을 사용하여 쿼리 결과 위치 구성](#configure-athena-query)
+ [Athena 엔진 v3를 사용하여 작업 그룹 구성](#configure-athena-workgroup)

## Athena 콘솔을 사용하여 쿼리 결과 위치 구성
<a name="configure-athena-query"></a>

쿼리 결과 위치를 구성하려면 다음 단계를 따릅니다.

1. Athena 콘솔 열기: [Athena 콘솔](https://console.aws.amazon.com//athena)

1. 기본 탐색 모음에서 **쿼리 편집기**를 선택합니다.

1. 쿼리 편집기에서 **설정** 탭을 선택한 다음 **관리를** 선택합니다.

1. 위치의 S3 접두사를 입력하여 쿼리 결과를 저장합니다.

## Athena 엔진 v3를 사용하여 작업 그룹 구성
<a name="configure-athena-workgroup"></a>

작업 그룹을 구성하려면 다음 단계를 따릅니다.

1. Athena 콘솔 열기: [Athena 콘솔](https://console.aws.amazon.com//athena)

1. 기본 탐색 모음에서 **작업 그룹을** 선택한 다음 **작업 그룹 생성을** 선택합니다.

1. 작업 그룹의 이름을 입력합니다.

1. 엔진 유형으로 **Athena SQL**을 선택합니다.

1. **쿼리 엔진 업그레이드**에서 **수동**을 선택합니다.

1. **쿼리 버전 엔진**에서 **Athena 버전 3**을 선택합니다.

1. **작업 그룹 생성**을 선택합니다.

# HealthOmics 변형 저장소에서 쿼리 실행
<a name="analytics-run-queries"></a>

**중요**  
AWS HealthOmics 변형 저장소 및 주석 저장소는 더 이상 신규 고객에게 공개되지 않습니다. 기존 고객은 정상적으로 서비스를 계속 이용할 수 있습니다. 자세한 내용은 [AWS HealthOmics 변형 저장소 및 주석 저장소 가용성 변경](variant-store-availability-change.md) 단원을 참조하십시오.

Amazon Athena를 사용하여 변형 저장소에서 쿼리를 수행할 수 있습니다. 변형 및 주석 저장소의 게놈 좌표는 제로 기반 반닫힌 반개방 간격으로 표시됩니다.

## Athena 콘솔을 사용하여 간단한 쿼리 실행
<a name="run-queries-athena-simple"></a>

다음 예제에서는 단순 쿼리를 실행하는 방법을 보여줍니다.

1. Athena 쿼리 편집기 열기: [Athena 쿼리 편집기](https://console.aws.amazon.com//athena)

1. **작업 그룹에서** 설정 중에 생성한 작업 그룹을 선택합니다.

1. **데이터 소스**가 **AwsDataCatalog**인지 확인합니다.

1. **데이터베이스**에서 Lake Formation 설정 중에 생성한 데이터베이스 리소스 링크를 선택합니다.

1. 쿼리 1 탭 아래의 **쿼리 편집기**에 다음 쿼리를 복사합니다. **** 

   ```
   SELECT * from omicsvariants limit 10
   ```

1. 그런 다음 **Run**(실행)을 선택하여 쿼리를 실행합니다. 콘솔은 결과 테이블을 **omicsvariants** 테이블의 처음 10개 행으로 채웁니다.

## Athena 콘솔을 사용하여 복잡한 쿼리 실행
<a name="run-queries-athena-complex"></a>

다음 예제에서는 복잡한 쿼리를 실행하는 방법을 보여줍니다. 이 쿼리를 실행하려면 주석 저장소`ClinVar`로 가져옵니다.

**복잡한 쿼리 실행**

1. Athena 쿼리 편집기 열기: [Athena 쿼리 편집기](https://console.aws.amazon.com//athena)

1. **작업 그룹에서** 설정 중에 생성한 작업 그룹을 선택합니다.

1. **데이터 소스**가 **AwsDataCatalog**인지 확인합니다.

1. **데이터베이스**에서 Lake Formation 설정 중에 생성한 데이터베이스 리소스 링크를 선택합니다.

1. 오른쪽 **\$1** 상단의를 선택하여 쿼리 **2**라는 새 쿼리 탭을 생성합니다.

1. 쿼리 2 탭 아래의 **쿼리 편집기**에 다음 쿼리를 복사합니다. **** 

   ```
   SELECT variants.sampleid,
     variants.contigname,
     variants.start,
     variants."end",
     variants.referenceallele,
     variants.alternatealleles,
     variants.attributes AS variant_attributes,
     clinvar.attributes AS clinvar_attributes  
   FROM omicsvariants as variants 
   INNER JOIN omicsannotations as clinvar ON 
     variants.contigname=CONCAT('chr',clinvar.contigname) 
     AND variants.start=clinvar.start 
     AND variants."end"=clinvar."end" 
     AND variants.referenceallele=clinvar.referenceallele 
     AND variants.alternatealleles=clinvar.alternatealleles 
   WHERE clinvar.attributes['CLNSIG']='Likely_pathogenic'
   ```

1. **실행**을 선택하여 쿼리 실행을 시작합니다.