데이터세트 나열

이 문서에서는 BigQuery에서 데이터세트를 나열하는 방법을 설명합니다.

다음을 통해 데이터세트를 나열할 수 있습니다.

  • GCP Console 또는 기본 BigQuery 웹 UI 사용
  • bq ls CLI 명령어 사용
  • datasets.list API 메소드 호출

필수 권한

데이터세트를 나열할 때는 사용자에게 bigquery.datasets.get 권한이 있는 데이터세트만 반환됩니다. 여기에는 사용자에게 데이터세트 수준의 READER 액세스 권한이 부여된 모든 데이터세트가 포함되어 있습니다. 사전 정의된 프로젝트 수준의 모든 IAM 역할에는 bigquery.jobUser제외bigquery.datasets.get 권한이 포함되어 있습니다. bigquery.jobUser 이외의 사전 정의된 프로젝트 수준의 IAM 역할이 할당된 경우, 프로젝트의 모든 데이터세트를 나열할 수 있습니다.

BigQuery의 IAM 역할 및 권한에 대한 자세한 내용은 액세스 제어를 참조하세요. 데이터세트 수준 역할에 대한 자세한 내용은 데이터세트의 기본 역할을 참조하세요.

프로젝트의 데이터세트 나열

프로젝트의 데이터세트를 나열하려면 다음 안내를 따르세요.

Console

웹 UI 리소스 창에 데이터세트가 프로젝트별로 나열됩니다.

기본 UI

데이터세트가 웹 UI 탐색 창에 프로젝트별로 나열됩니다.

명령줄

bq ls 명령어를 사용하여 데이터세트 ID별로 데이터세트를 나열합니다. --format 플래그를 사용하여 출력을 제어할 수 있습니다. 기본 프로젝트가 아닌 다른 프로젝트의 데이터세트를 나열하려면 명령어에 --project_id 플래그를 추가합니다.

익명 데이터세트를 포함하여 프로젝트의 모든 데이터세트를 나열하려면 --all 플래그나 -a 단축키를 사용합니다.

익명 데이터세트를 제외하고 프로젝트의 모든 데이터세트를 나열하려면 --datasets 플래그나 단축형 -d를 사용합니다. 이 플래그는 선택사항입니다. 기본적으로 익명 데이터세트는 나열되지 않습니다.

추가 플래그에는 다음이 포함됩니다.

  • --filter: 필터 표현식과 일치하는 데이터세트를 나열합니다. 공백으로 구분된 라벨 키 및 값의 목록을 labels.[KEY]:[VALUE] 형식으로 사용합니다. 라벨을 사용하여 데이터세트를 필터링하는 방법에 대한 자세한 내용은 라벨 추가 및 사용을 참조하세요.
  • --max_results 또는 -n: 결과의 최대 수를 나타내는 정수입니다. 기본값은 50입니다.

    bq ls --filter labels.[KEY]:[VALUE] --max_results [INTEGER] --format=prettyjson --project_id [PROJECT_ID]
    

각 항목의 의미는 다음과 같습니다.

  • [KEY]:[VALUE]는 라벨 키와 값입니다.
  • [INTEGER]는 나열할 데이터세트 수를 나타내는 정수입니다.
  • [PROJECT_ID]는 프로젝트 이름입니다.

예시:

다음 명령어를 입력하면 기본 프로젝트의 데이터세트가 나열됩니다. --format을 pretty로 설정하면 기본 형식의 테이블이 반환됩니다.

bq ls --format=pretty

다음 명령어를 입력하면 myotherproject의 데이터세트가 나열됩니다. --formatprettyjson으로 설정하면 상세 결과가 JSON 형식으로 반환됩니다.

bq ls --format=prettyjson --project_id myotherproject

다음 명령어를 입력하면 기본 프로젝트의 익명 데이터세트가 포함된 모든 데이터세트가 나열됩니다. 출력에서 익명 데이터세트는 밑줄로 시작합니다.

bq ls -a

다음 명령어를 입력하면 기본 프로젝트에서 기본 출력 데이터세트가 50개 이상 반환됩니다.

bq ls --max_results 60

다음 명령어를 입력하면 org:dev 라벨로 기본 프로젝트의 데이터세트가 나열됩니다.

ba ls --filter labels.org:dev

API

API를 사용하여 데이터세트를 나열하려면 datasets.list API 메소드를 호출합니다.

C#

이 샘플을 시도해 보기 전에 BigQuery 빠른 시작: 클라이언트 라이브러리 사용의 C# 설정 안내를 따르세요. 자세한 내용은 BigQuery C# API 참조 문서를 참조하세요.

using Google.Cloud.BigQuery.V2;
using System;
using System.Collections.Generic;
using System.Linq;

public class BigQueryListDatasets
{
    public void ListDatasets(
        string projectId = "your-project-id"
    )
    {
        BigQueryClient client = BigQueryClient.Create(projectId);
        // Retrieve list of datasets in project
        List<BigQueryDataset> datasets = client.ListDatasets().ToList();
        // Display the results
        if (datasets.Count > 0)
        {
            Console.WriteLine($"Datasets in project {projectId}:");
            foreach (var dataset in datasets)
            {
                Console.WriteLine($"\t{dataset.Reference.DatasetId}");
            }
        }
        else
        {
            Console.WriteLine($"{projectId} does not contain any datasets.");
        }
    }
}

Go

이 샘플을 시도하기 전에 BigQuery 빠른 시작: 클라이언트 라이브러리 사용의 Go 설정 안내를 따르세요. 자세한 내용은 BigQuery Go API 참조 문서를 확인하세요.

// To run this sample, you will need to create (or reuse) a context and
// an instance of the bigquery client.  For example:
// import "cloud.google.com/go/bigquery"
// ctx := context.Background()
// client, err := bigquery.NewClient(ctx, "your-project-id")
it := client.Datasets(ctx)
for {
	dataset, err := it.Next()
	if err == iterator.Done {
		break
	}
	fmt.Println(dataset.DatasetID)
}

자바

이 샘플을 시도해 보기 전에 BigQuery 빠른 시작: 클라이언트 라이브러리 사용의 자바 설정 안내를 따르세요. 자세한 내용은 BigQuery 자바 API 참조 문서를 확인하세요.

// List datasets in the default project
Page<Dataset> datasets = bigquery.listDatasets(DatasetListOption.pageSize(100));
for (Dataset dataset : datasets.iterateAll()) {
  // do something with the dataset
}
// List datasets in a specified project
Page<Dataset> datasets = bigquery.listDatasets(projectId, DatasetListOption.pageSize(100));
for (Dataset dataset : datasets.iterateAll()) {
  // do something with the dataset
}

Node.js

이 샘플을 시도해 보기 전에 BigQuery 빠른 시작: 클라이언트 라이브러리 사용의 Node.js 설정 안내를 따르세요. 자세한 내용은 BigQuery Node.js API 참조 문서를 참조하세요.

// Import the Google Cloud client library
const {BigQuery} = require('@google-cloud/bigquery');

async function listDatasets() {
  // Lists all datasets in current GCP project.

  // Create a client
  const bigqueryClient = new BigQuery();

  // Lists all datasets in the specified project
  const [datasets] = await bigqueryClient.getDatasets();
  console.log('Datasets:');
  datasets.forEach(dataset => console.log(dataset.id));
}
listDatasets();

PHP

이 샘플을 시도해 보기 전에 BigQuery 빠른 시작: 클라이언트 라이브러리 사용의 PHP 설정 안내를 따르세요. 자세한 내용은 BigQuery PHP API 참조 문서를 참조하세요.

use Google\Cloud\BigQuery\BigQueryClient;

/** Uncomment and populate these variables in your code */
// $projectId  = 'The Google project ID';

$bigQuery = new BigQueryClient([
    'projectId' => $projectId,
]);
$datasets = $bigQuery->datasets();
foreach ($datasets as $dataset) {
    print($dataset->id() . PHP_EOL);
}

Python

이 샘플을 시도해 보기 전에 BigQuery 빠른 시작: 클라이언트 라이브러리 사용의 Python 설정 안내를 따르세요. 자세한 내용은 BigQuery Python API 참조 문서를 확인하세요.

from google.cloud import bigquery

# TODO(developer): Construct a BigQuery client object.
# client = bigquery.Client()

datasets = list(client.list_datasets())
project = client.project

if datasets:
    print("Datasets in project {}:".format(project))
    for dataset in datasets:  # API request(s)
        print("\t{}".format(dataset.dataset_id))
else:
    print("{} project does not contain any datasets.".format(project))

Ruby

이 샘플을 시도해 보기 전에 BigQuery 빠른 시작: 클라이언트 라이브러리 사용의 Ruby 설정 안내를 따르세요. 자세한 내용은 BigQuery Ruby API 참조 문서를 참조하세요.

require "google/cloud/bigquery"

def list_datasets project_id = "your-project-id"
  bigquery = Google::Cloud::Bigquery.new project: project_id

  puts "Datasets in project #{project_id}:"
  bigquery.datasets.each do |dataset|
    puts "\t#{dataset.dataset_id}"
  end
end

다음 단계

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

도움이 필요하시나요? 지원 페이지를 방문하세요.