SAP Datasphere 통합 쿼리
데이터 분석가는 통합 쿼리를 사용하여 BigQuery에서 SAP Datasphere의 관계형 데이터를 쿼리할 수 있습니다.
BigQuery SAP Datasphere 통합을 사용하면 BigQuery에서 데이터 복사 또는 이동 없이 SAP Datasphere에 위치한 데이터를 실시간으로 쿼리할 수 있습니다.
SAP Datasphere에서 SQL 쿼리를 실행하려면 BigQuery 내에서 EXTERNAL_QUERY
함수에 SQL 쿼리를 지정합니다. 그런 다음 결과가 SAP Datasphere에서 BigQuery로 전송됩니다.
제한사항
- 소비용으로 노출된 관계형 뷰만 쿼리할 수 있습니다. SAP Datasphere의 다른 객체는
EXTERNAL_QUERY
를 통해 통합된 쿼리에 액세스할 수 없습니다. - Google Cloud에 속하는 모든 외부 IP 주소에서 SAP Datasphere에 연결할 수 있으며 시간이 지남에 따라 해당 IP 주소가 변경될 수 있습니다. 따라서 SAP Datasphere에서 허용 목록에 모든 Google Cloud 외부 IP 주소를 추가해야 합니다.
- 통합 쿼리 지연 시간은 SAP Datasphere에서 직접 실행된 경우 동일한 쿼리보다 현저히 길 수 있습니다.
- 지정된 프로젝트에서 SAP Datasphere 연결을 사용하는 첫 번째 쿼리는 실행하는 데 1분 이상 걸릴 수 있습니다.
- SAP Datasphere에는 추가 SQL 푸시다운이 지원되지 않습니다.
- SAP Datasphere SQL 쿼리는 함수 결과가 포함된 열에 대해 별칭을 지정해야 합니다.
- 쿼리 프로젝트에서 Compute Engine API 사용이 VPC 서비스 제어에 의해 제한되는 경우 통합 쿼리가 실패합니다.
시작하기 전에
BigQuery 관리자가 SAP Datasphere 연결을 만들어 사용자와 공유했는지 확인합니다.
필요한 역할
SAP Datasphere를 쿼리하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 BigQuery 연결 사용자(roles/bigquery.connectionUser
) IAM 역할을 부여해 달라고 요청하세요.
역할 부여에 대한 자세한 내용은 액세스 관리를 참조하세요.
커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.
데이터 쿼리
GoogleSQL 쿼리에서 통합 쿼리를 SAP Datasphere로 보내려면 EXTERNAL_QUERY 함수를 사용합니다.
다음 예시는 이름이 ORDERS
인 SAP Datasphere의 테이블과 mydataset.customers
라는 BigQuery의 테이블을 조인하는 통합 쿼리입니다.
SELECT c.customer_id, c.name, rq.first_order_date
FROM mydataset.customers AS c
LEFT OUTER JOIN EXTERNAL_QUERY(
'connection_id',
'''SELECT CUSTOMER_ID, MIN(ORDER_DATE) AS first_order_date
FROM ORDERS
GROUP BY CUSTOMER_ID''') AS rq
ON rq.customer_id = c.customer_id
GROUP BY c.customer_id, c.name, rq.first_order_date;
SAP Datasphere 테이블 스키마 보기
다음 예시에서는 EXTERNAL_QUERY 함수를 사용하여 SAP Datasphere의 SYS
스키마에서 데이터베이스 메타데이터를 검색합니다.
-- List all views in a schema.
SELECT * FROM EXTERNAL_QUERY(
'connection_id',
'''SELECT VIEW_NAME FROM SYS.VIEWS
WHERE SCHEMA_NAME = 'MY_SCHEMA'''');
-- List all columns in a view.
SELECT * FROM EXTERNAL_QUERY(
'connection_id',
'''SELECT COLUMN_NAME, DATA_TYPE_NAME
FROM SYS.VIEW_COLUMNS
WHERE SCHEMA_NAME = 'MY_SCHEMA' AND
VIEW_NAME = 'my_view'
ORDER BY POSITION''');
가격 책정
통합 쿼리 실행 비용은 다음 세 가지 요소를 기준으로 합니다.
- SAP Datasphere에서 쿼리를 실행하는 컴퓨팅 비용
- SAP Datasphere에서 BigQuery로 쿼리 결과를 전송하는 대역폭 비용
- BigQuery에서 쿼리를 실행하는 데 드는 컴퓨팅 비용
SAP Datasphere 관련 비용은 사용하는 SAP 서비스 유형에 따라 다릅니다. 대역폭 비용을 제한하려면 최종 결과를 계산하는 데 필요하지 않은 모든 열과 행을 제외하도록 EXTERNAL_QUERY
에 쿼리를 작성하는 것이 좋습니다.
BigQuery에서 통합 쿼리를 실행하는 데는 추가 비용이 들지 않습니다. BigQuery 가격에 대한 자세한 내용은 가격 책정을 참조하세요.
다음 단계
- 통합 쿼리 알아보기
- 지원되지 않는 데이터 유형 알아보기