https://cloud.google.com/bigquery/docs/authentication/service-account-file?hl=ko


서비스 계정 입력 후 완료

만든 계정을 누르고 키에 들어가서 json 파일 생성

서비스계정에 권한 추가


pip install --upgrade google-cloud-bigquery
project id 확인 방법

빅쿼리 연동 및 확인 코드
from google.oauth2 import service_account
from google.cloud import bigquery
SERVICE_ACCOUNT_FILE = "./api_key.json" # 키 json 파일
credentials = service_account.Credentials.from_service_account_file(SERVICE_ACCOUNT_FILE)
project_id = "bigquery-test-408414" # 각자 프로젝트에 맞게 수정
client = bigquery.Client(credentials=credentials, project=project_id)
def import_bigquery_data(query):
query_job = client.query(query)
return query_job.to_dataframe()
data = import_bigquery_data('''
SELECT *
FROM `bigquery-public-data.google_trends.international_top_rising_terms`
WHERE refresh_date = '2024-08-01'
LIMIT 10
;
''')
data.head()

안녕하세요.
조직에 서비스 계정 키 생성을 차단하는 조직 정책이 적용되었습니다. 떠서 키 생성이 안되요.
적용된 조직 정책 ID:
iam.disableServiceAccountKeyCreation
가능한 원인: 서비스 계정 키와 관련된 보안 사고를 방지하기 위해 조직 정책 관리자가 조직 정책을 적용했습니다. 또는 보안을 우선으로 하는 기본 설정 적용 의 일부로 조직에 정책이 자동으로 적용되었을 수도 있습니다.
권장되는 다음 단계: 서비스 계정 키를 제대로 관리하지 않을 경우 보안상 위험할 수 있습니다. 가능한 경우 보다 안전한 대안 을 선택해야 합니다. 서비스 계정 키로 인증해야 하는 경우 조직의 '조직 정책 관리자'(roles/orgpolicy.policyAdmin) 역할이 있는 관리자가 위에 언급된 제약 조건을 사용 중지 해야 합니다.
추적 번호: c8665516489710828
안녕하세요! 메타코드 무료 강의 내용 중 질문이 있어 댓글 남겨요.
bigquery 실습 문제 중 TRAFFIC SOURCE 별 전체 sessions, 구매 sessions, 구매 sessions/전체 sessions 을 해결하기 위한 쿼리 작성에 관한 질문입니다.
저는 동일한 세션id 내에서 여러 이벤트가 발생할 수 있고 그 중 purchase인 경우에 관심있기 때문에 중복을 제거한 고유한 세션id 기준으로 purchase 이벤트가 발생한 경우를 고려하여 쿼리를 작성하였습니다. 논리적으로 문제가 있는지 피드백 주시면 감사드리겠습니다!!
WITH T1 AS (
SELECT e.session_id,
e.traffic_source,
MAX(case when e.event_type = 'purchase'then 1 else 0 end) as is_purchase # COUNTIF(e.event_type='purchase') > 0
FROM
bigquery-public-data.thelook_ecommerce.eventseWHERE e.created_at BETWEEN '2023-01-01' AND '2024-01-01'
GROUP BY 1,2
)
SELECT traffic_source,
count(session_id) as session_of_total,
sum(is_purchase) as session_of_purchase,
round(sum(is_purchase)/count(session_id)*100,2) as ratio
FROM T1
GROUP BY 1
좋은 강의 감사드립니다:)