Google BigQuery 콘솔(WEB UI) 가이드
#Google BigQuery 콘솔(WEB UI) 가이드
BigQuery Web UI에 접근
GCP 홈 화면에서 프로젝트(hello-bigquery)를 선택하고, 좌측 상단의 Ξ아이콘을 클릭하여 좌측메뉴 네비게이터를 펼쳐서 스크롤을 아래로 내리다 보면 빅데이터 하위에 BigQuery 메뉴가 보일 것이다. BigQuery를 선택하여 BigQuery Web UI에 접속해 보자.
BigQuery Web UI 초기화면
BigQuery Web UI 초기화면을 살펴보자. Welcome to BigQuery! 라는 환영 메세지를 볼 수 있다.
역시 구글의 서비스 UI는 아주 Simple하다. 우리나라 서비스라면 칭찬받지 못할 UI이다. 좌측 상단의 COMPOSE QUERY를 클릭해보자.
BigQuery Web UI 살펴보기
-
Navigation bar COMPOSE QUERY : 쿼리를 실행 할 수 있는 Query Editor 화면으로 이동 Query History : 조회했던 쿼리가 기록을 확인 Job History : Job 작업의 기록을 확인(Job : load data, export data, copy data) My project : 내 프로젝트의 데이터셋과 테이블/뷰를 트리 네비게이션 형태로 제공 Public Datasets : 공공 데이터셋 프로젝트로 무료로 제공되는 데이터셋들의 그룹
-
Query Editor New Query : 쿼리명을 나타내며 , Text Box에 쿼리를 입력 할 수 있다. Run Query : 쿼리를 실행하는 버튼 - 단축 : command(ctrl) + Enter Save Query : 입력된 쿼리를 저장하는 버튼 Save View : 쿼리 결과(View)를 저장하는 버튼으로 Lagacy SQL을 사용할 경우 가능. Format Query : 쿼리를 Fommating 해주는 버튼. Show Option : 옵션 설정화면으로 이동 할 수 있는 버튼. (Legacy/Standard SQL 옵션 선택 등)
-
Query Result Results : 쿼리의 결과를 나타내는 영역. Details : 쿼리 수행 상세정보를 보여주는 영역.(쿼리 정보 , Execution Plan) Download as CSV : 쿼리 결과를 CSV 파일로 다운로드. Download as JSON : 쿼리 결과를 json 파일로 다운로드. Save as Table : 쿼리 결과를 테이블로 생성. Save to Google Sheets : 쿼리 결과를 Google Sheets로 저장. Table : 쿼리 결과를 테이블 형식로 출력. JSON : 쿼리 결과를 json 형식으로 출력.
-
My Project 선택된 프로젝트의 DataSet,Table,View를 트리 형식으로 볼 수 있으며, 관리 기능을 제공한다.
-
Public Datasets BigQuery에서 무료로 제공하는 DataSets.
Dataset Details
네비게이션바에서 데이터셋을 선택하면 볼 수 있는 화면으로 데이터셋의 상세정보와 테이블 리스트를 확인 할 수 있다.
Table Details
-
- Schema Tab 네비게이션바에서 테이블을 선택하면 볼 수 있는 화면으로 테이블 스키마 정보를 볼 수 있다. Refresh : 새로고침 Query Table : 쿼리를 실행할 수 있는 쿼리 에디터가 열리고, 선택된 테이블에 대한 기본 쿼리가 에디터에 디폴트로 입력된다. Copy Table : 테이블 복사 Export Table : GCS에 조회 결과를 Export 한다. Delete Table : 테이블을 삭제한다. Add New Fields : 테이블에 필드 추가.
-
Details Tab 테이블 상세 정보를 볼 수 있는 탭으로 Expiration Time와 Labels를 Edit 할 수 있다.
- Preview Tab BigQuery 테이블의 데이터를 조회 쿼리를 수행하지 않고, 미리보기 할 수 있다.
BigQuery Query Editor 옵션 설정
Query Editor에서 Show Options를 클릭하여 옵션을 변경해보자.
Query Editor 옵션 중 주로 많이 사용하게 될 옵션이 SQL Dialect일 것이다. 작성자는 Standard SQL이 익숙하여, Use Legacy SQL 옵션을 체크 해제 하였다. 옵션은 자동 저장되지 않고, 다음 접속 시에 다시 설정해 주어야 한다.
Query Options
BigQuery Web UI 단축키
BigQuery Web UI 데이터셋 관리
-
- 데이터셋 생성 좌측 네비게이션바의 My Project(hello-bigquery) 우측에 ▼버튼을 클릭 후 Create new dataset을 클릭. Dataset ID에 테이블명을 lab_table 입력 후 OK 버튼 클릭. 생성된 데이터셋과 상세정보를 확인 할 수 있다. Data Location은 지정하지 않았지만, 디폴트로 US가 지정된걸 확인 할 수 있다. Edit 버튼으로 데이터셋 생성시 설정한 정보를 변경 할 수 있다.
데이터셋의 Description을 지정해보자. “빅쿼리 콘솔 테스트용 데이터셋”이라고 Description을 달았다. 저장버튼은 따로 없다. 키아웃하면 저장된다.
- 데이터셋 공유 빅쿼리는 데이터셋을 다른 사용자에게 공유 할 수 있게 되어있다. 권한 관리를 데이터셋 단위로 한다는 뜻이다. 내가 생성한 데이터셋을 다른 사용자에게 공유해보자. 일단 데이터셋 공유를 받기 위해서는 Gmail 계정이 필요하다. 공유받을 사용자가 Gmail 계정이 없다면 Gmail 가입부터 해야한다. 구글 빅쿼리는 권한관리에 대한 책임을 사용자에게 부여한다. 권한 관리가 잘못되어 데이터셋이 실수로 삭제되거나, 요금 폭탄이 나오는 경우가 없어야 하므로, 각별히 신경을 써야 할 것이다. 사용자에게 데이터셋의 뷰 권한을 주어 공유 해보자. Who has access의 리스트는 권한이 있는 사용자의 리스트를 보여준다.
Add people에서 공유받을 사용자의 Gmail 계정을 입력 후 권한을 선택한다. 위에서는 Can view 권한을 주었지만, Is owner,Can Edit, Can view 권한 중 하나를 선택 할 수 있다. Add 버튼을 클릭하면 Who has access 리스트에 데이터셋 공유 권한이 추가된다.
- 데이터셋 삭제 BigQuery Web UI 네비게이션바에서 테이블 우측의 ▼버튼을 클릭하여 Delete dataset을 선택하여 데이터셋을 삭제 할 수 있다.
데이터셋을 삭제 하기전에 데이터셋 확인 팝업이 뜨고, 다시한번 데이터셋ID을 입력 후 OK 버튼을 클릭하면 삭제된다.
네비게이션바에서 데이터셋이 삭제된걸 확인 할 수 있다.
BigQuery Web UI 테이블 관리
-
- 빈 테이블 생성 좌측 네비게이션바의 데이터셋(lab_dataset) 우측에 ▼버튼을 클릭 후 Create new table을 클릭하면 다음과 같은 화면을 볼 수 있다.
Source Data 항목에서 Create empty table을 선택하고 테이블명,스키마,옵션 을 입력 후 Create Table 버튼을 클릭하면 테이블 생성이 완료된다.
지정한대로 테이블이 잘 생성 되었다.
- 테이블 생성& 데이터 Load 테이블 생성 시 CSV 파일을 지정하여 테이블에 데이터를 Load 해보자. 1) Source Data에서 Create from source를 선택 2) Location을 File upload 선택 3) Choose file을 선택하여 테이블에 load 할 파일 선택. 4) File format을 CSV 파일 지정.
데이터셋(lab_dataset) 선택 후 테이블명(lab_trasactions) 입력
Add Field 버튼을 클릭해서 필드를 추가해가며, 스키마를 입력 해 준다. 참고로 Mode에서 REQUIRED는 필드값 필수여부를 나타낸다.
Option중 Partitioning Type을 Day를 선택해 주고, Create Table을 클릭하면 테이블 생성과 데이터 Load가 완료된다. 참고) 테이블에 추가로 데이터를 Load 하고 싶다면, Write preference 항목을 Append to table로 선택하여 추가로 데이터를 등록 할 수 있다.
생성된 테이블과 데이터를 확인해보자. 다음 쿼리를 실행하면 등록된 데이터를 확인 할 수 있다.
SELECT * FROM [hello-bigquery-196407:lab_dataset.lab_trasactions] WHERE _PARTITIONTIME >= “2018-03-20 00:00:00” AND _PARTITIONTIME < “2018-03-21 00:00:00” LIMIT 1000 ;
위에서는 Can view 권한을 주었지만, Is owner,Can Edit, Can view 권한 중 하나를 선택 할 수 있다. Add 버튼을 클릭하면 Who has access 리스트에 데이터셋 공유 권한이 추가된다.
- 필드 추가 및 필드 값 일괄 update 테이블에 필드를 추가해보겠다. 필드명 : create_dtm Type : DATETIME Mode : NULLABLE
필드 정보를 입력 후 Add To Table 버튼을 클릭하여, 테이블에 필드를 추가한다. 다음은 추가된 필드의 값을 current_timestamp()를 일괄 update 해보겠다. 일단 옵션에서 Use Legacy SQL을 체크 해제하여, Standard SQL을 사용 할 수 있도록 설정한다. 다음 아래의 SQL을 실행하여, 현재시간을 추가한 create_dtm 필드 값을 update 한다.
update lab_dataset.lab_trasactions set create_dtm = cast(current_timestamp() as DATETIME) where _PARTITIONTIME between cast(‘2018-03-20 00:00:00’ as TIMESTAMP) and cast(‘2018-03-21 00:00:00’ as TIMESTAMP) ;
다음 아래의 조회 쿼리를 실행하여 update 된 결과를 확인해보자. select create_dtm from lab_dataset.lab_trasactions;
필드에 동일한 시간이 update 된 걸 확인 할 수 있다.
- 테이블 삭제 테이블명을 잘못지정하였다. 테이블을 삭제해보자. 삭제하고싶은 테이블을 선택 후 ▼버튼을 클릭하고, Delete table을 클릭하면, 아래와 같은 확인 팝업이 노출된다. 다시한번 확인 후 OK 버튼을 클릭한다.
네비게이션바의 테이블목록에서 테이블이 삭제 된것을 확인 할 수 있다.
BigQuery의 Data Type
BigQuery의 Data Type(Field Type)의 종류에 대해 알아보도록 하자.