2016-03-17 12 views
7

Tôi có cột loại integer trong bảng BigQuery của mình và bây giờ tôi cần phải chuyển đổi cột đó thành cột float. Tôi cũng phải giữ tất cả hồ sơ. Những gì tôi muốn làm là thay đổi loại cột. Không đúc.Làm cách nào để thay đổi loại cột của bảng BigQuery bằng cách truy vấn và tự xuất?

Tôi đã đọc rằng có thể thực hiện điều đó chỉ bằng cách xuất kết quả của truy vấn trên bảng.

Cách thực hiện?

Trả lời

13

Sử dụng SELECT với văn bản kết quả trở lại bảng

SELECT 
    CAST(int_field AS FLOAT) AS float_field, 
    <all_other_fields> 
FROM YourTable 

Cách tiếp cận này sẽ đồng $ t bạn quét toàn bộ bảng

Để thực hiện điều này - bạn nên sử dụng Hiện Lựa chọn nút trong Giao diện người dùng web BQ và đặt các tùy chọn đúng như trong ví dụ bên dưới. Sau khi bạn chạy điều này - bảng của bạn sẽ có cột đó với kiểu dữ liệu số nguyên so với số nguyên ban đầu như bạn muốn. Lưu ý: Bạn nên sử dụng tên trường hợp/tương tự cho cả hai int_field và float_field

enter image description here

nếu bạn sẽ chỉ cần thêm cột mới tôi sẽ chỉ cho bạn Tables: patch GBQ API.
Tôi không chắc chắn nếu API này cho phép thay đổi loại của cột - tôi nghi ngờ - nhưng nó rất dễ dàng để kiểm tra

Sử dụng Jobs: insert TRÍCH và sau đó TẢI

Ở đây bạn có thể trích xuất bảng để GCS và sau đó tải nó trở lại GBQ với lược đồ đã điều chỉnh

Phương pháp trên sẽ a) loại bỏ chi phí bảng truy vấn (scan) và b) có thể giúp bạn tránh được những hạn chế mà bạn có./lồng nhau, vv loại/chế độ)

+0

Xin chào Mikhail, cảm ơn bạn đã trả lời. Tuy nhiên tôi muốn thay đổi giản đồ và tôi muốn biết cách nó được thực hiện chỉ bằng cách sử dụng các truy vấn. Giống như được đề cập ở đây: http://stackoverflow.com/questions/23703701/bigquery-how-can-i-change-the-type-of-one-of-my-column-from-integer-to-string – scaryguy

+0

xem "Sử dụng SELECT ..." trong câu trả lời của tôi. những gì khác mà bạn cần biết? nếu điều này là không đủ - bạn có thể muốn cung cấp thêm chi tiết trong câu hỏi của bạn –

+0

Xin lỗi nếu nó không đủ rõ ràng. Tôi không quan tâm đến việc 'truyền' trong một truy vấn. Tôi muốn thay đổi kiểu dữ liệu của cột. – scaryguy

Các vấn đề liên quan