SOL-C01 문제 6

회사는 고객 주문을 나타내는 JSON 데이터를 Snowflake 테이블로 수집합니다.
'ORDERS'. JSON 구조는 다양하지만 모든 레코드에는 루트 수준 '고객 ID'와 '품목' 배열이 포함됩니다. 일부 주문에는 개별 품목에 적용되는 프로모션 할인이 포함되어 있습니다. '품목' 배열에 '할인' 필드가 모든 품목에 대해 존재한다고 보장할 수 없다는 점을 고려할 때, 각 고객의 총 할인 금액을 효율적으로 추출하는 SQL 쿼리는 무엇입니까?

SOL-C01 문제 7

Snowflake 테이블 '제품 카탈로그'에는 '제품 ID', '제품 이름', '가격' 열이 있습니다.
's3 stage'라는 외부 스테이지에 파이프로 구분된 파일이 있는데, 이 파일에는 제품 데이터가 포함되어 있습니다. 하지만 일부 행의 'price' 열에 누락된 값이 있습니다. 누락된 가격을 기본값인 0으로 대체하여 데이터를 로드하려고 합니다. 'COPY INTO' 작업 중에 누락된 값을 처리하는 데 가장 적합한 방법은 무엇입니까?

SOL-C01 문제 8

'table_names'라는 Python 목록에 저장된 테이블 이름 목록을 기반으로 동적으로 테이블을 생성해야 하는 Snowflake Notebook을 작성하고 있습니다. 이 목록을 반복하면서 각 테이블 이름에 대해 CREATE TABLE 문을 실행하려고 합니다. 하지만 이름에 공백이나 특수 문자가 포함될 수 있습니다. 이 목표를 안전하고 효과적으로 달성하기 위해 어떤 방법을 사용할 수 있을까요?

SOL-C01 문제 9

데이터 분석가는 월별 판매 데이터를 집계하는 뷰를 만들어야 합니다. 기본 테이블 sales_transactions에는 'transaction_id', 'transaction_date' 및
'sales_amount'. 분석가는 'ANALYST' 역할을 가진 사용자만 이 뷰를 쿼리할 수 있도록 하려고 합니다. 다음 중 뷰를 올바르게 생성하고 필요한 권한을 부여하는 SQL 문은 무엇입니까?

SOL-C01 문제 10

데이터 엔지니어는 비즈니스 분석가 역할('BI 분석가')에게 데이터베이스('보고 DB') 내 특정 스키마('판매 데이터')의 데이터를 쿼리할 수 있는 권한을 부여해야 합니다. 비즈니스 분석가는 분석을 위해 임시 테이블을 생성할 수 있어야 하지만, 기본 테이블을 수정할 수는 없어야 합니다. 다음 명령 중 가장 안전하고 권한이 낮은 방법은 무엇입니까?