결과가 BigQuery로 전송되면 데이터가 새 테이블 또는 기존 테이블에 기록됩니다. 작업에 대한 자세한 내용은 작업 개념 주제를 참조하세요.
샘플 쿼리
다음 샘플 쿼리를 사용하여 결과를 분석할 수 있습니다. 또한 Google 데이터 스튜디오와 같은 시각화 도구에서 쿼리를 사용할 수 있습니다. 이러한 쿼리는 결과 데이터 쿼리를 시작하는 데 도움이 됩니다.
다음 각 쿼리에서 [DATASET]
를 BigQuery 데이터세트 이름으로, [TABLE_ID]
를 테이블 ID로, [PROJECT_ID]
를 프로젝트 식별자로 바꿉니다.
각 infoType 개수 선택
Google Cloud Console
SELECT info_type.name, COUNT(info_type.name) AS count FROM [PROJECT_ID].[DATASET].[TABLE_ID], GROUP BY info_type.name ORDER BY count DESC;
명령줄
bq query --use_legacy_sql=false ' SELECT info_type.name, COUNT(info_type.name) AS count FROM [PROJECT_ID].[DATASET].[TABLE_ID], GROUP BY info_type.name ORDER BY count DESC;'
일별로 각 infoType 개수 선택
Google Cloud Console
SELECT info_type.name, cast(TIMESTAMP_SECONDS(create_time.seconds) as date) as day, COUNT(locations.container_name) AS count FROM [PROJECT_ID].[DATASET].[TABLE_ID], UNNEST(location.content_locations) AS locations GROUP BY info_type.name, day ORDER BY count DESC;
명령줄
bq query --use_legacy_sql=false ' SELECT info_type.name, cast(TIMESTAMP_SECONDS(create_time.seconds) as date) as day, COUNT(locations.container_name) AS count FROM [PROJECT_ID].[DATASET].[TABLE_ID], UNNEST(location.content_locations) AS locations GROUP BY info_type.name, day ORDER BY count DESC;'
각 컨테이너에서 각 infoType 개수 선택
Google Cloud Console
SELECT info_type.name, locations.container_name, COUNT(locations.container_name) AS count FROM [PROJECT_ID].[DATASET].[TABLE_ID], UNNEST(location.content_locations) AS locations GROUP BY locations.container_name, info_type.name ORDER BY count DESC;
명령줄
bq query --use_legacy_sql=false ' SELECT info_type.name, locations.container_name, COUNT(locations.container_name) AS count FROM [PROJECT_ID].[DATASET].[TABLE_ID], UNNEST(location.content_locations) AS locations GROUP BY locations.container_name,info_type.name ORDER BY count DESC;'
테이블의 각 열에서 찾은 결과 유형 선택
이 쿼리는 모든 결과를 열 이름으로 그룹화하고 BigQuery 검사 작업의 결과에서 작동하도록 제공되며, 특정 열의 가능한 유형을 식별하려고 할 때 유용합니다. WHERE 및 HAVING 절을 수정하여 설정을 조정할 수 있습니다. 예를 들어 결과 테이블에 여러 테이블 결과가 포함된 경우 하나의 작업 실행 또는 하나의 테이블 이름으로 제한할 수 있습니다.
Google Cloud Console
SELECT table_counts.field_name, STRING_AGG( CONCAT(" ",table_counts.name," [count: ",CAST(table_counts.count_total AS String),"]") ORDER BY table_counts.count_total DESC) AS infoTypes FROM ( SELECT locations.record_location.field_id.name AS field_name, info_type.name, COUNT(*) AS count_total FROM [PROJECT_ID].[DATASET].[TABLE_ID], UNNEST(location.content_locations) AS locations WHERE (likelihood = 'LIKELY' OR likelihood = 'VERY_LIKELY' OR likelihood = 'POSSIBLE') GROUP BY locations.record_location.field_id.name, info_type.name HAVING count_total>200 ) AS table_counts GROUP BY table_counts.field_name ORDER BY table_counts.field_name
위의 쿼리는 샘플 테이블에 대해 다음과 같은 결과를 생성할 수 있습니다. 여기서 infoType 열은 해당 열에서 각 infoType의 인스턴스가 몇 개인지를 알려줍니다.
field_name | infoTypes |
---|---|
field1 |
CUSTOM_USER_US [count: 7004] , CUSTOM_USER_EU [count: 2996] |
field2 |
US_VEHICLE_IDENTIFICATION_NUMBER [count: 9597] |
field3 |
EMAIL_ADDRESS [count: 10000] |
field4 |
IP_ADDRESS [count: 10000] |
field5 |
PHONE_NUMBER [count: 7815] |
field6 |
US_SOCIAL_SECURITY_NUMBER [count: 10000] |
field7 |
CREDIT_CARD_NUMBER [count: 10000] |