Kiểm tra xem tệp CSV có trống không PHP
Để kiểm tra xem tệp có trống không bằng PowerShell, chúng ta có thể sử dụng phương thức chuỗi có tên IsNullorWhiteSpace(). Phương pháp này cung cấp kết quả đúng nếu tệp trống hoặc chỉ chứa khoảng trắng nếu không thì sai Show
Ví dụ: Chúng tôi có một test2. tệp văn bản txt có khoảng trắng Ví dụ[String]::IsNullOrWhiteSpace((Get-content C:\Test2.txt)) đầu raTrue Nhưng nếu bạn có một tệp như CSV chứa ít tiêu đề nhưng dữ liệu trống, trong trường hợp đó, Get-Content sẽ hiển thị đầu ra sai vì nó sẽ xem xét các tiêu đề. Ví dụ, Đưa ra một tài liệu HTML chứa phần tử đầu vào, nhiệm vụ là kiểm tra xem phần tử đầu vào có trống hay không với sự trợ giúp của JavaScript. Cách tiếp cận 1. sử dụng phần tử. các tập tin. thuộc tính độ dài để kiểm tra tệp có được chọn hay không. nếu phần tử. các tập tin. thuộc tính độ dài trả về 0 thì tệp không được chọn nếu không thì tệp được chọn Ví dụ. Ví dụ này thực hiện cách tiếp cận trên. html
đầu ra
Cách tiếp cận 2. sử dụng phần tử. các tập tin. thuộc tính độ dài trong jQuery để kiểm tra tệp có được chọn hay không. nếu phần tử. các tập tin. thuộc tính độ dài trả về 0 thì tệp không được chọn nếu không tệp được chọn. Khi tải dữ liệu CSV từ Cloud Storage, bạn có thể tải dữ liệu vào bảng hoặc phân vùng mới hoặc bạn có thể nối thêm hoặc ghi đè lên bảng hoặc phân vùng hiện có. Khi dữ liệu của bạn được tải vào BigQuery, dữ liệu đó sẽ được chuyển đổi thành định dạng cột cho Capacitor (định dạng lưu trữ của BigQuery) Khi bạn tải dữ liệu từ Cloud Storage vào bảng BigQuery, tập dữ liệu chứa bảng phải ở cùng một vị trí khu vực hoặc đa khu vực với bộ chứa Cloud Storage Để biết thông tin về cách tải dữ liệu CSV từ tệp cục bộ, hãy xem Hãy thử nó cho chính mìnhNếu bạn là người mới sử dụng Google Cloud, hãy tạo một tài khoản để đánh giá cách BigQuery hoạt động trong các tình huống thực tế. Khách hàng mới cũng nhận được 300 đô la tín dụng miễn phí để chạy, thử nghiệm và triển khai khối lượng công việc Dùng thử BigQuery miễn phíHạn chếBạn phải tuân theo các giới hạn sau khi tải dữ liệu vào BigQuery từ bộ chứa Cloud Storage
Khi bạn tải tệp CSV vào BigQuery, hãy lưu ý những điều sau
Trước khi bắt đầuCấp vai trò Quản lý quyền truy cập và danh tính (IAM) cấp cho người dùng các quyền cần thiết để thực hiện từng tác vụ trong tài liệu này và tạo tập dữ liệu để lưu trữ dữ liệu của bạn quyền cần thiếtĐể tải dữ liệu vào BigQuery, bạn cần có quyền IAM để chạy tác vụ tải và tải dữ liệu vào bảng và phân vùng BigQuery. Nếu đang tải dữ liệu từ Cloud Storage, bạn cũng cần có quyền IAM để truy cập vào bộ chứa chứa dữ liệu của mình Quyền tải dữ liệu vào BigQueryĐể tải dữ liệu vào bảng hoặc phân vùng BigQuery mới hoặc để nối thêm hoặc ghi đè lên bảng hoặc phân vùng hiện có, bạn cần có các quyền IAM sau
Mỗi vai trò IAM được xác định trước sau đây bao gồm các quyền mà bạn cần để tải dữ liệu vào bảng hoặc phân vùng BigQuery
Ngoài ra, nếu bạn có quyền 3, bạn có thể tạo và cập nhật bảng bằng cách sử dụng tác vụ tải trong bộ dữ liệu mà bạn tạoĐể biết thêm thông tin về vai trò và quyền IAM trong BigQuery, hãy xem Vai trò và quyền được xác định trước Quyền tải dữ liệu từ Cloud StorageĐể tải dữ liệu từ bộ chứa Lưu trữ đám mây, bạn cần có các quyền IAM sau
Tạo tập dữ liệuTạo bộ dữ liệu BigQuery để lưu trữ dữ liệu của bạn Đang tải dữ liệu CSV vào bảngĐể tải dữ liệu CSV từ Cloud Storage vào bảng BigQuery mới, hãy chọn một trong các tùy chọn sau Để làm theo hướng dẫn từng bước cho tác vụ này trực tiếp trong Cloud Shell Editor, hãy nhấp vào Hướng dẫn tôi Hướng dẫn tôi Trong bảng điều khiển Google Cloud, hãy truy cập trang BigQuery Truy cập BigQuery Sử dụng. Ví dụ sau tải tệp CSV vào bảng mới
Để biết thêm thông tin về cách chạy truy vấn, hãy xem bqSử dụng lệnh 4, chỉ định 5 bằng cách sử dụng cờ 6 và bao gồm một. Bạn có thể bao gồm một URI, danh sách URI được phân tách bằng dấu phẩy hoặc URI chứa một. Cung cấp lược đồ nội tuyến, trong tệp định nghĩa lược đồ hoặc sử dụng tính năng tự động phát hiện lược đồ. Nếu bạn không chỉ định lược đồ và 7 là 0 và bảng đích tồn tại, thì lược đồ của bảng đích sẽ được sử dụng(Tùy chọn) Cung cấp cờ 9 và đặt giá trị cho vị trí của bạnCác cờ tùy chọn khác bao gồm
Để tải dữ liệu CSV vào BigQuery, hãy nhập lệnh sau bq --location=location load \ --source_format=format \ dataset.table \ path_to_source \ schema Ở đâu
ví dụ Lệnh sau tải dữ liệu từ LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
10 vào bảng có tên 3 trong LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
12. Lược đồ được xác định trong một tệp lược đồ cục bộ có tên là LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
13
Lệnh sau tải dữ liệu từ LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
10 vào bảng có tên 3 trong LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
12. Lược đồ được xác định trong một tệp lược đồ cục bộ có tên là LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
13. Tệp CSV bao gồm hai hàng tiêu đề. Nếu 9 không được chỉ định, hành vi mặc định là giả sử tệp không chứa tiêu đề
Lệnh sau đây tải dữ liệu từ LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
10 vào bảng được phân vùng theo thời gian nhập có tên là 3 trong LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
12. Lược đồ được xác định trong một tệp lược đồ cục bộ có tên là LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
13
Lệnh sau tải dữ liệu từ LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
10 vào một bảng được phân vùng mới có tên 3 trong LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
12. Bảng được phân vùng trên cột LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
26. Lược đồ được xác định trong một tệp lược đồ cục bộ có tên là LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
13
Lệnh sau tải dữ liệu từ LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
10 vào bảng có tên 3 trong LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
12. Lược đồ được tự động phát hiện
Lệnh sau tải dữ liệu từ LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
10 vào bảng có tên 3 trong LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
12. Lược đồ được xác định nội tuyến ở định dạng LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
34______52_______Lưu ý. Khi bạn chỉ định lược đồ bằng công cụ dòng lệnh LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
35, bạn không thể bao gồm loại LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
36 (), bạn không thể bao gồm mô tả trường và bạn không thể chỉ định chế độ trường. Tất cả các chế độ trường mặc định là LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
38. Để bao gồm các mô tả trường, chế độ và các loại LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
36, hãy cung cấp thay thế. Lệnh sau tải dữ liệu từ nhiều tệp trong LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
40 vào một bảng có tên 3 trong LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
12. URI lưu trữ đám mây sử dụng ký tự đại diện. Lược đồ được tự động phát hiện
Lệnh sau tải dữ liệu từ nhiều tệp trong LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
40 vào một bảng có tên 3 trong LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
12. Lệnh bao gồm một danh sách các URI lưu trữ đám mây được phân tách bằng dấu phẩy với các ký tự đại diện. Lược đồ được xác định trong một tệp lược đồ cục bộ có tên là LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
13LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
0API
ghi chú API
C#Trước khi dùng thử mẫu này, hãy làm theo hướng dẫn thiết lập C# trong hướng dẫn bắt đầu nhanh BigQuery bằng thư viện máy khách. Để biết thêm thông tin, hãy xem tài liệu tham khảo API BigQuery C# . Xem trên GitHub LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
1ĐiTrước khi dùng thử mẫu này, hãy làm theo hướng dẫn thiết lập Go trong phần bắt đầu nhanh BigQuery bằng thư viện máy khách. Để biết thêm thông tin, hãy xem tài liệu tham khảo API BigQuery Go . Xem trên GitHub LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
2JavaTrước khi dùng thử mẫu này, hãy làm theo hướng dẫn thiết lập Java trong hướng dẫn bắt đầu nhanh BigQuery bằng thư viện máy khách. Để biết thêm thông tin, hãy xem tài liệu tham khảo API BigQuery Java . Xem trên GitHub LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
3Nút. jsTrước khi thử mẫu này, hãy làm theo Nút. js hướng dẫn thiết lập trong bắt đầu nhanh BigQuery bằng thư viện máy khách. Để biết thêm thông tin, hãy xem Nút BigQuery. js Tài liệu tham khảo API. Xem trên GitHub LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
4PHPTrước khi dùng thử mẫu này, hãy làm theo hướng dẫn thiết lập PHP trong hướng dẫn bắt đầu nhanh BigQuery bằng thư viện máy khách. Để biết thêm thông tin, hãy xem tài liệu tham khảo API BigQuery PHP . Xem trên GitHub LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
5con trănTrước khi dùng thử mẫu này, hãy làm theo hướng dẫn thiết lập Python trong hướng dẫn bắt đầu nhanh BigQuery bằng thư viện máy khách. Để biết thêm thông tin, hãy xem tài liệu tham khảo API BigQuery Python . Sử dụng phương pháp để tải dữ liệu từ tệp CSV trong Cloud Storage. Cung cấp định nghĩa lược đồ rõ ràng bằng cách đặt thuộc tính thành danh sách đối tượng Xem trên GitHub LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
6hồng ngọcTrước khi dùng thử mẫu này, hãy làm theo hướng dẫn thiết lập Ruby trong phần bắt đầu nhanh BigQuery bằng cách sử dụng thư viện máy khách. Để biết thêm thông tin, hãy xem tài liệu tham khảo API BigQuery Ruby . Xem trên GitHub LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
7Đang tải dữ liệu CSV vào bảng sử dụng phân vùng thời gian dựa trên cộtĐể tải dữ liệu CSV từ Cloud Storage vào bảng BigQuery sử dụng phân vùng thời gian dựa trên cột Trước khi dùng thử mẫu này, hãy làm theo hướng dẫn thiết lập Go trong phần bắt đầu nhanh BigQuery bằng thư viện máy khách. Để biết thêm thông tin, hãy xem tài liệu tham khảo API BigQuery Go . Xem trên GitHub JavaTrước khi dùng thử mẫu này, hãy làm theo hướng dẫn thiết lập Java trong hướng dẫn bắt đầu nhanh BigQuery bằng thư viện máy khách. Để biết thêm thông tin, hãy xem tài liệu tham khảo API BigQuery Java . Xem trên GitHub LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
9Nút. jsTrước khi thử mẫu này, hãy làm theo Nút. js hướng dẫn thiết lập trong bắt đầu nhanh BigQuery bằng thư viện máy khách. Để biết thêm thông tin, hãy xem Nút BigQuery. js Tài liệu tham khảo API. Xem trên GitHub bq --location=location load \ --source_format=format \ dataset.table \ path_to_source \ schema0 con trănTrước khi dùng thử mẫu này, hãy làm theo hướng dẫn thiết lập Python trong hướng dẫn bắt đầu nhanh BigQuery bằng thư viện máy khách. Để biết thêm thông tin, hãy xem tài liệu tham khảo API BigQuery Python . Xem trên GitHub bq --location=location load \ --source_format=format \ dataset.table \ path_to_source \ schema1 Thêm vào hoặc ghi đè lên bảng bằng dữ liệu CSVBạn có thể tải dữ liệu bổ sung vào bảng từ tệp nguồn hoặc bằng cách nối thêm kết quả truy vấn Trong bảng điều khiển Google Cloud, hãy sử dụng tùy chọn Tùy chọn ghi để chỉ định hành động cần thực hiện khi bạn tải dữ liệu từ tệp nguồn hoặc từ kết quả truy vấn Bạn có các tùy chọn sau khi tải thêm dữ liệu vào bảng Tùy chọn bảng điều khiểnLOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
35 cờ công cụ Thuộc tính API BigQuery Mô tả Ghi nếu trốngKhông được hỗ trợLOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
63Chỉ ghi dữ liệu nếu bảng trống. Nối vào bảngLOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
64 hoặc LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
65; . Ghi đè bảngLOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
68 hoặc LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
69LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
70Xóa tất cả dữ liệu hiện có trong một bảng trước khi ghi dữ liệu mới. Hành động này cũng xóa lược đồ bảng và xóa mọi khóa Cloud KMSNếu bạn tải dữ liệu vào một bảng hiện có, tác vụ tải có thể nối thêm dữ liệu hoặc ghi đè lên bảng Ghi chú. Trang này không đề cập đến việc nối thêm hoặc ghi đè lên các bảng được phân vùng. Để biết thông tin về nối thêm và ghi đè các bảng được phân vùng, hãy xem.Trong bảng điều khiển Google Cloud, hãy truy cập trang BigQuery Truy cập BigQuery Sử dụng. Ví dụ sau nối tệp CSV vào bảng
Để biết thêm thông tin về cách chạy truy vấn, hãy xem bqSử dụng lệnh 4, chỉ định 5 bằng cách sử dụng cờ 6 và bao gồm một. Bạn có thể bao gồm một URI, danh sách URI được phân tách bằng dấu phẩy hoặc URI chứa mộtCung cấp lược đồ nội tuyến, trong tệp định nghĩa lược đồ hoặc sử dụng tính năng tự động phát hiện lược đồ. Nếu bạn không chỉ định lược đồ và 7 là 0 và bảng đích tồn tại, thì lược đồ của bảng đích sẽ được sử dụngChỉ định cờ LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
68 để ghi đè lên bảng. Sử dụng cờ LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
64 để thêm dữ liệu vào bảng. Nếu không có cờ nào được chỉ định, mặc định là nối thêm dữ liệuCó thể sửa đổi lược đồ của bảng khi bạn nối thêm hoặc ghi đè lên nó. Để biết thêm thông tin về các thay đổi lược đồ được hỗ trợ trong quá trình vận hành tải, hãy xem Sửa đổi lược đồ bảng (Tùy chọn) Cung cấp cờ 9 và đặt giá trị cho vị trí của bạnCác cờ tùy chọn khác bao gồm
bq --location=location load \ --source_format=format \ dataset.table \ path_to_source \ schema4 Ở đâu
ví dụ Lệnh sau tải dữ liệu từ LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
10 và ghi đè lên bảng có tên 3 trong LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
12. Lược đồ được xác định bằng tính năng tự động phát hiện lược đồbq --location=location load \ --source_format=format \ dataset.table \ path_to_source \ schema5 Lệnh sau tải dữ liệu từ LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
10 và nối thêm dữ liệu vào bảng có tên 3 trong LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
12. Lược đồ được xác định bằng tệp lược đồ JSON — LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
13bq --location=location load \ --source_format=format \ dataset.table \ path_to_source \ schema6 API
ĐiTrước khi dùng thử mẫu này, hãy làm theo hướng dẫn thiết lập Go trong phần bắt đầu nhanh BigQuery bằng thư viện máy khách. Để biết thêm thông tin, hãy xem tài liệu tham khảo API BigQuery Go . Xem trên GitHub bq --location=location load \ --source_format=format \ dataset.table \ path_to_source \ schema7 JavaTrước khi dùng thử mẫu này, hãy làm theo hướng dẫn thiết lập Java trong hướng dẫn bắt đầu nhanh BigQuery bằng thư viện máy khách. Để biết thêm thông tin, hãy xem tài liệu tham khảo API BigQuery Java . Xem trên GitHub bq --location=location load \ --source_format=format \ dataset.table \ path_to_source \ schema8 Nút. jsTrước khi thử mẫu này, hãy làm theo Nút. js hướng dẫn thiết lập trong bắt đầu nhanh BigQuery bằng thư viện máy khách. Để biết thêm thông tin, hãy xem Nút BigQuery. js Tài liệu tham khảo API. Để thay thế các hàng trong một bảng hiện có, hãy đặt giá trị bq --location=location load \ --source_format=format \ dataset.table \ path_to_source \ schema25 trong tham số bq --location=location load \ --source_format=format \ dataset.table \ path_to_source \ schema26 thành bq --location=location load \ --source_format=format \ dataset.table \ path_to_source \ schema27 Xem trên GitHub bq --location=location load \ --source_format=format \ dataset.table \ path_to_source \ schema9 Trước khi dùng thử mẫu này, hãy làm theo hướng dẫn thiết lập PHP trong hướng dẫn bắt đầu nhanh BigQuery bằng thư viện máy khách. Để biết thêm thông tin, hãy xem tài liệu tham khảo API BigQuery PHP . Xem trên GitHub 0con trănTrước khi dùng thử mẫu này, hãy làm theo hướng dẫn thiết lập Python trong hướng dẫn bắt đầu nhanh BigQuery bằng thư viện máy khách. Để biết thêm thông tin, hãy xem tài liệu tham khảo API BigQuery Python . Để thay thế các hàng trong một bảng hiện có, hãy đặt thuộc tính thành hằng số SourceFormat LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
70Xem trên GitHub 1Đang tải dữ liệu CSV được phân vùng tổ ongBigQuery hỗ trợ tải dữ liệu CSV được phân vùng tổ ong được lưu trữ trên Cloud Storage và sẽ điền các cột phân vùng tổ ong dưới dạng các cột trong bảng đích do BigQuery quản lý. Để biết thêm thông tin, hãy xem Tải dữ liệu được phân vùng bên ngoài từ bộ nhớ đám mây Chi tiết tải dữ liệu CSVPhần này mô tả cách BigQuery xử lý các tùy chọn định dạng CSV khác nhau mã hóaBigQuery dự kiến dữ liệu CSV sẽ được mã hóa UTF-8. Nếu bạn có tệp CSV với dữ liệu được mã hóa ở định dạng ISO-8859-1 (còn được gọi là Latin-1), thì bạn nên chỉ định rõ ràng mã hóa để BigQuery có thể chuyển đổi dữ liệu thành UTF-8 một cách chính xác Nếu bạn không chỉ định mã hóa hoặc nếu bạn chỉ định mã hóa UTF-8 khi tệp CSV không được mã hóa UTF-8, thì BigQuery sẽ cố gắng chuyển đổi dữ liệu thành UTF-8. Nói chung, dữ liệu của bạn sẽ được tải thành công, nhưng nó có thể không khớp với từng byte như bạn mong đợi. Để tránh điều này, hãy chỉ định mã hóa chính xác bằng cách sử dụng bq --location=location load \ --source_format=format \ dataset.table \ path_to_source \ schema29Ghi chú. Theo mặc định, nếu tệp CSV chứa ký tự ASCII 7 (NULL), thì bạn không thể tải dữ liệu vào BigQuery. Nếu bạn muốn cho phép ASCII 7 và các ký tự điều khiển ASCII khác, hãy đặt bq --location=location load \ --source_format=format \ dataset.table \ path_to_source \ schema32 cho công việc tải của bạn Nếu BigQuery không thể chuyển đổi một ký tự không phải là ký tự ASCII 7, thì BigQuery sẽ chuyển đổi ký tự đó thành ký tự thay thế Unicode tiêu chuẩn. �Dấu phân cách trườngDấu phân cách trong tệp CSV có thể là bất kỳ ký tự byte đơn nào. Nếu tệp nguồn sử dụng mã hóa ISO-8859-1, bất kỳ ký tự nào cũng có thể là dấu phân cách. Nếu tệp nguồn sử dụng mã hóa UTF-8, bất kỳ ký tự nào trong phạm vi thập phân 1-127 (U+0001-U+007F) đều có thể được sử dụng mà không cần sửa đổi. Bạn có thể chèn một ký tự ISO-8859-1 bên ngoài phạm vi này làm dấu phân cách và BigQuery sẽ diễn giải chính xác ký tự đó. Tuy nhiên, nếu bạn sử dụng ký tự nhiều byte làm dấu phân cách, một số byte sẽ được diễn giải không chính xác như một phần của giá trị trường Nói chung, cách tốt nhất là sử dụng dấu phân cách chuẩn, chẳng hạn như tab, dấu gạch ngang hoặc dấu phẩy. Mặc định là dấu phẩy Loại dữ liệuBoolean. BigQuery có thể phân tích cú pháp bất kỳ cặp nào sau đây cho dữ liệu Boolean. 1 hoặc 0, đúng hoặc sai, t hoặc f, có hoặc không, hoặc y hoặc n (tất cả đều không phân biệt chữ hoa chữ thường). Tự động phát hiện sơ đồ tự động phát hiện bất kỳ trong số này ngoại trừ 0 và 1byte. Các cột có loại BYTES phải được mã hóa dưới dạng Base64 Ngày. Các cột có loại NGÀY phải ở định dạng 5Ngày giờ. Các cột có kiểu DATETIME phải ở định dạng bq --location=location load \ --source_format=format \ dataset.table \ path_to_source \ schema35 Địa lý. Các cột có loại ĐỊA LÝ phải chứa các chuỗi ở một trong các định dạng sau
Nếu bạn sử dụng WKB, giá trị phải được mã hóa hex Danh sách sau đây cho thấy các ví dụ về dữ liệu hợp lệ
Trước khi tải dữ liệu ĐỊA LÝ, hãy đọc thêm khoảng thời gian. Các cột có loại bq --location=location load \ --source_format=format \ dataset.table \ path_to_source \ schema39 phải ở định dạng bq --location=location load \ --source_format=format \ dataset.table \ path_to_source \ schema40, trong đó
Bạn có thể chỉ ra giá trị âm bằng cách thêm trước dấu gạch ngang (-) Danh sách sau đây cho thấy các ví dụ về dữ liệu hợp lệ
Để tải dữ liệu INTERVAL, bạn phải sử dụng lệnh và sử dụng cờ bq --location=location load \ --source_format=format \ dataset.table \ path_to_source \ schema45 để chỉ định lược đồ. Bạn không thể tải lên dữ liệu INTERVAL bằng cách sử dụng bảng điều khiển JSON. Dấu ngoặc kép được thoát ra bằng cách sử dụng chuỗi hai ký tự bq --location=location load \ --source_format=format \ dataset.table \ path_to_source \ schema46. Để biết thêm thông tin, hãy xem một ví dụ về Thời gian. Các cột có loại THỜI GIAN phải ở định dạng bq --location=location load \ --source_format=format \ dataset.table \ path_to_source \ schema47 dấu thời gian. BigQuery chấp nhận các định dạng dấu thời gian khác nhau. Dấu thời gian phải bao gồm phần ngày và phần thời gian
Ví dụ: bất kỳ giá trị nào sau đây là giá trị dấu thời gian hợp lệ
Nếu bạn cung cấp một giản đồ, thì BigQuery cũng chấp nhận thời gian Unix epoch cho các giá trị dấu thời gian. Tuy nhiên, tính năng tự động phát hiện lược đồ không phát hiện trường hợp này và thay vào đó xử lý giá trị dưới dạng số hoặc loại chuỗi Ví dụ về giá trị dấu thời gian Unix epoch
Tự động phát hiện lược đồPhần này mô tả hành vi tự động phát hiện lược đồ khi tải tệp CSV dấu phân cách CSVBigQuery phát hiện các dấu phân cách sau
tiêu đề CSVBigQuery phỏng đoán các tiêu đề bằng cách so sánh hàng đầu tiên của tệp với các hàng khác trong tệp. Nếu dòng đầu tiên chỉ chứa chuỗi và các dòng khác chứa các loại dữ liệu khác, BigQuery sẽ giả định rằng hàng đầu tiên là hàng tiêu đề. Trong trường hợp đó, BigQuery chỉ định tên cột dựa trên tên trường trong hàng tiêu đề. Tên có thể được sửa đổi để đáp ứng các cột for trong BigQuery. Ví dụ: khoảng trắng sẽ được thay thế bằng dấu gạch dưới Mặt khác, BigQuery giả định hàng đầu tiên là hàng dữ liệu và gán các tên cột chung, chẳng hạn như bq --location=location load \ --source_format=format \ dataset.table \ path_to_source \ schema52. Lưu ý rằng sau khi tạo bảng, không thể cập nhật tên cột trong lược đồ, mặc dù bạn có thể cập nhật sau khi tạo bảng. Một tùy chọn khác là cung cấp lược đồ rõ ràng thay vì sử dụng tính năng tự động phát hiện Bạn có thể có tệp CSV có hàng tiêu đề, trong đó tất cả các trường dữ liệu đều là chuỗi. Trong trường hợp đó, BigQuery sẽ không tự động phát hiện hàng đầu tiên là tiêu đề. Sử dụng tùy chọn 9 để bỏ qua hàng tiêu đề. Nếu không, tiêu đề sẽ được nhập dưới dạng dữ liệu. Ngoài ra, hãy xem xét việc cung cấp một lược đồ rõ ràng trong trường hợp này để bạn có thể gán tên cộtCSV trích dẫn dòng mớiBigQuery phát hiện các ký tự dòng mới được trích dẫn trong trường CSV và không diễn giải ký tự dòng mới được trích dẫn dưới dạng ranh giới hàng tùy chọn CSVĐể thay đổi cách BigQuery phân tích cú pháp dữ liệu CSV, hãy chỉ định các tùy chọn bổ sung trong bảng điều khiển Google Cloud, công cụ dòng lệnh LOAD DATA OVERWRITE mydataset.mytable
FROM FILES (
format = 'CSV',
uris = ['gs://bucket/path/file.csv']);
35 hoặc API
Làm cách nào để kiểm tra xem tệp CSV có trống hay không trong PHP?Hàm PHP rỗng ()
. Hàm này trả về false nếu biến tồn tại và không rỗng, ngược lại trả về true
Làm cách nào để biết tệp csv có trống không?read_csv(tên tệp) # hoặc pd. read_excel(tên tệp) cho tệp xls df. empty # sẽ trả về True nếu khung dữ liệu trống hoặc False nếu không . Lưu câu trả lời này. |