Đọc tệp CSV từ lưu trữ Azure blob python

Giả sử bạn có tệp csv, bộ chứa blob và quyền truy cập vào không gian làm việc của DataBricks. Mục đích của blog nhỏ này là để cho thấy quy trình từ việc có một tệp trên máy tính cục bộ của bạn đến việc đọc dữ liệu vào databricks dễ dàng như thế nào. Tôi sẽ thực hiện quá trình tải tệp csv lên một vùng chứa blob màu xanh theo cách thủ công và sau đó đọc nó trong DataBricks bằng mã python

Bước 1. Tải tệp lên vùng chứa blob của bạn

Điều này có thể được thực hiện đơn giản bằng cách điều hướng đến vùng chứa blob của bạn. Từ đó, bạn có thể nhấp vào nút tải lên và chọn tệp bạn quan tâm. Sau khi được chọn, bạn cần nhấp vào nút tải lên trong thanh tải lên. Xem ảnh chụp màn hình bên dưới

Sau khi tải lên, bạn sẽ có thể xem tệp có sẵn trong vùng chứa blob của mình như hình bên dưới

Bước 2. Nhận thông tin đăng nhập cần thiết cho databricks để kết nối với bộ chứa blob của bạn

Từ cổng thông tin Azure của bạn, bạn cần điều hướng đến tất cả các tài nguyên, sau đó chọn tài khoản lưu trữ blob của mình và từ bên dưới cài đặt, chọn khóa tài khoản. Khi đã có, hãy sao chép khóa bên dưới Key1 vào notepad cục bộ

Bước 3. Định cấu hình DataBricks để đọc tệp

Tại đây, bạn cần điều hướng đến không gian làm việc của databricks [tạo một cái nếu bạn chưa có] và khởi chạy nó. Sau khi khởi chạy, hãy chuyển đến không gian làm việc và tạo sổ ghi chép python mới

Để bắt đầu đọc dữ liệu, trước tiên, bạn cần định cấu hình phiên spark của mình để sử dụng thông tin đăng nhập cho vùng chứa blob của bạn. Điều này đơn giản có thể được thực hiện thông qua tia lửa. conf. đặt lệnh. Chính xác hơn, chúng tôi bắt đầu với những điều sau đây

storage_account_name = 'nameofyourstorageaccount' 
storage_account_access_key = 'thekeyfortheblobcontainer'
spark.conf.set['fs.azure.account.key.' + storage_account_name + '.blob.core.windows.net', storage_account_access_key]


Sau khi hoàn tất, chúng ta cần xây dựng đường dẫn tệp trong vùng chứa blob và đọc tệp dưới dạng khung dữ liệu tia lửa

blob_container = 'yourblobcontainername'
filePath = "wasbs://" + blob_container + "@" + storage_account_name + ".blob.core.windows.net/Sales/SalesFile.csv"
salesDf = spark.read.format["csv"].load[filePath, inferSchema = True, header = True]

Và chúc mừng, chúng ta đã hoàn thành. Bạn có thể sử dụng lệnh hiển thị để xem dữ liệu của chúng tôi như hình bên dưới

Trong blog này, chúng ta sẽ tìm hiểu cách đọc tệp CSV từ bộ lưu trữ blob và đẩy dữ liệu vào bảng nhóm SQL khớp thần kinh bằng tập lệnh python Azure Databricks. Trong phần 1, chúng ta đã tạo không gian làm việc phân tích khớp thần kinh Azure, nhóm SQL chuyên dụng, trong phần này, chúng ta đã thấy cách tạo nhóm SQL chuyên dụng. Trong blog này, chúng tôi sẽ sử dụng chuỗi kết nối JDBC để kết nối nhóm SQL

Bước 1. Đăng nhập vào cổng Azure. Mở Azure Databricks và nhấp vào không gian làm việc ăn trưa để tạo Notebook mới

  • Đối với Định dạng tệp, hãy chọn CSV
  • Trong phần Đích, chỉ định các chi tiết sau
    1. Đối với Tập dữ liệu, hãy chọn tập dữ liệu mà bạn muốn tạo bảng
    2. Trong trường Bảng, nhập tên của bảng mà bạn muốn tạo
    3. Xác minh rằng trường Loại bảng được đặt thành Bảng gốc
  • Trong phần Lược đồ, nhập định nghĩa lược đồ. Để bật tính năng tự động phát hiện lược đồ, hãy chọn Tự động phát hiện. Bạn có thể nhập thông tin lược đồ theo cách thủ công bằng cách sử dụng một trong các phương pháp sau
    • lựa chọn 1. Nhấp vào Chỉnh sửa dưới dạng văn bản và dán lược đồ ở dạng mảng JSON. Khi bạn sử dụng một mảng JSON, bạn tạo lược đồ bằng quy trình tương tự như tạo tệp lược đồ JSON. Bạn có thể xem lược đồ của một bảng hiện có ở định dạng JSON bằng cách nhập lệnh sau.
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      7
    • Tùy chọn 2. Nhấp vào add_box Thêm trường và nhập lược đồ bảng. Chỉ định Tên, Loại và Chế độ của từng trường.
  • Không bắt buộc. Chỉ định cài đặt phân vùng và cụm. Để biết thêm thông tin, hãy xem Tạo các bảng được phân vùng và Tạo và sử dụng các bảng được phân cụm
  • Nhấp vào Tùy chọn nâng cao và thực hiện các thao tác sau
    • Đối với tùy chọn Viết, hãy để Viết nếu chọn trống. Tùy chọn này tạo một bảng mới và tải dữ liệu của bạn vào đó
    • Đối với Số lượng lỗi được phép, hãy chấp nhận giá trị mặc định của
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      17 hoặc nhập số hàng tối đa chứa lỗi có thể bỏ qua. Nếu số lượng hàng có lỗi vượt quá giá trị này, công việc sẽ dẫn đến thông báo
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      18 và không thành công. Tùy chọn này chỉ áp dụng cho các tệp CSV và JSON
    • Nếu bạn muốn bỏ qua các giá trị trong một hàng không có trong lược đồ của bảng, hãy chọn Giá trị không xác định
    • Đối với Dấu phân cách trường, hãy chọn ký tự phân tách các ô trong tệp CSV của bạn. Dấu phẩy, Tab, Ống hoặc Tùy chỉnh. Nếu chọn Custom thì điền dấu phân cách vào ô Custom field delimiter. Giá trị mặc định là Dấu phẩy
    • Để bỏ qua các hàng Tiêu đề, hãy nhập số hàng tiêu đề cần bỏ qua ở đầu tệp CSV. Giá trị mặc định là
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      17
    • Đối với các dòng mới được trích dẫn, hãy kiểm tra Cho phép các dòng mới được trích dẫn để cho phép các phần dữ liệu được trích dẫn có chứa các ký tự dòng mới trong tệp CSV. Giá trị mặc định là
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      10
    • Đối với các hàng có răng cưa, hãy chọn Cho phép các hàng có răng cưa chấp nhận các hàng trong tệp CSV bị thiếu các cột tùy chọn ở cuối. Các giá trị bị thiếu được coi là null. Nếu không được chọn, các bản ghi bị thiếu cột theo sau được coi là bản ghi không hợp lệ và nếu có quá nhiều bản ghi không hợp lệ, lỗi không hợp lệ sẽ được trả về trong kết quả công việc. Giá trị mặc định là
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      10
    • Đối với Mã hóa, hãy nhấp vào Khóa do khách hàng quản lý để sử dụng khóa Dịch vụ quản lý khóa đám mây. Nếu bạn rời khỏi tùy chọn cài đặt khóa do Google quản lý, thì BigQuery sẽ mã hóa dữ liệu ở trạng thái lưu trữ
  • Nhấp vào Tạo bảng
  • Ghi chú. Khi bạn tải dữ liệu vào một bảng trống bằng cách sử dụng bảng điều khiển Google Cloud, bạn không thể thêm nhãn, mô tả, hết hạn bảng hoặc hết hạn phân vùng.

    Sau khi bảng được tạo, bạn có thể cập nhật ngày hết hạn, mô tả và nhãn của bảng nhưng bạn không thể thêm ngày hết hạn của phân vùng sau khi bảng được tạo bằng Google Cloud console. Để biết thêm thông tin, hãy xem Quản lý bảng.

    SQL

    Sử dụng câu lệnh

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    12 DDL. Ví dụ sau tải tệp CSV vào bảng mới
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    13

    1. Trong bảng điều khiển Google Cloud, hãy truy cập trang BigQuery

      Truy cập BigQuery

    2. Trong trình chỉnh sửa truy vấn, hãy nhập câu lệnh sau

          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      5
    3. Nhấp vào play_circle Chạy.

    Để biết thêm thông tin về cách chạy truy vấn, hãy xem Chạy truy vấn tương tác

    bq

    Sử dụng lệnh

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    14, chỉ định
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    15 bằng cờ
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    16 và bao gồm URI lưu trữ đám mây. 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 ký tự đại diện. 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à
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    17 là
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    10 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ờ

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    19 và đặt giá trị cho vị trí của bạn

    Các cờ tùy chọn khác bao gồm

    •     bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      20. Khi được chỉ định, hãy chấp nhận các hàng trong tệp CSV bị thiếu các cột tùy chọn ở cuối. Các giá trị bị thiếu được coi là null. Nếu không được chọn, các bản ghi bị thiếu cột theo sau được coi là bản ghi không hợp lệ và nếu có quá nhiều bản ghi không hợp lệ, lỗi không hợp lệ sẽ được trả về trong kết quả công việc. Giá trị mặc định là
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      10
    •     bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      22. Khi được chỉ định, cho phép các phần dữ liệu được trích dẫn có chứa ký tự dòng mới trong tệp CSV. Giá trị mặc định là
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      10
    •     bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      24. Ký tự chỉ ranh giới giữa các cột trong dữ liệu. Cả
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      25 và
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      26 đều được phép sử dụng dấu phân cách tab. Giá trị mặc định là
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      27
    •     bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      28. Chuỗi tùy chỉnh tùy chọn đại diện cho giá trị NULL trong dữ liệu CSV
    •     bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      29. Chỉ định số hàng tiêu đề cần bỏ qua ở đầu tệp CSV. Giá trị mặc định là
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      17
    •     bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      31. Ký tự trích dẫn được sử dụng để đính kèm bản ghi. Giá trị mặc định là
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      32. Để biểu thị không có ký tự trích dẫn, hãy sử dụng một chuỗi rỗng
    •     bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      33. Một số nguyên xác định số bản ghi lỗi tối đa được phép trước khi toàn bộ công việc không thành công. Giá trị mặc định là
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      17. Nhiều nhất, năm lỗi thuộc bất kỳ loại nào được trả về bất kể giá trị
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      33
    •     bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      36. Khi được chỉ định, cho phép và bỏ qua các giá trị bổ sung, không được nhận dạng trong dữ liệu CSV hoặc JSON
    •     bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      17. Khi được chỉ định, hãy bật tính năng tự động phát hiện lược đồ cho dữ liệu CSV và JSON
    •     bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      38. Cho phép phân vùng dựa trên thời gian trên bảng và đặt loại phân vùng. Các giá trị có thể là
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      39,
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      20,
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      21 và
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      22. Cờ này là tùy chọn khi bạn tạo bảng được phân vùng trên cột
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      3,
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      24 hoặc
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      6. Loại phân vùng mặc định cho phân vùng dựa trên thời gian là
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      20. Bạn không thể thay đổi đặc tả phân vùng trên một bảng hiện có
    •     bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      27. Một số nguyên chỉ định [tính bằng giây] khi nào nên xóa phân vùng dựa trên thời gian. Thời gian hết hạn ước tính theo ngày UTC của phân vùng cộng với giá trị số nguyên
    •     bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      28. Cột
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      3 hoặc
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      6 được sử dụng để tạo bảng được phân vùng. Nếu phân vùng dựa trên thời gian được bật mà không có giá trị này, thì một bảng được phân vùng theo thời gian nhập sẽ được tạo
    •     bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      501. Khi được bật, tùy chọn này yêu cầu người dùng bao gồm mệnh đề
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      502 chỉ định các phân vùng để truy vấn. Yêu cầu bộ lọc phân vùng có thể giảm chi phí và cải thiện hiệu suất. Để biết thêm thông tin, hãy xem Truy vấn các bảng được phân vùng
    •     bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      503. Danh sách được phân tách bằng dấu phẩy gồm tối đa bốn tên cột được sử dụng để tạo bảng nhóm
    •     bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      504. Khóa Cloud KMS để mã hóa dữ liệu bảng

      Để biết thêm thông tin về lệnh

          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      14, hãy xem

      • Tham chiếu dòng lệnh

      Để biết thêm thông tin về các bảng được phân vùng, hãy xem

      • Tạo các bảng được phân vùng

      Để biết thêm thông tin về các bảng nhóm, hãy xem

      • Tạo và sử dụng các bảng nhóm

      Để biết thêm thông tin về mã hóa bảng, hãy xem

      • Bảo vệ dữ liệu bằng khóa Cloud KMS

    Để tải dữ liệu CSV vào BigQuery, hãy nhập lệnh sau

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    8

    Ở đâu

    • vị trí là vị trí của bạn. Cờ
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      19 là tùy chọn. Ví dụ: nếu bạn đang sử dụng BigQuery ở khu vực Tokyo, thì bạn có thể đặt giá trị của cờ thành
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      507. Bạn có thể đặt giá trị mặc định cho vị trí bằng cách sử dụng. tập tin bigqueryrc
    • định dạng là
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      15
    • tập dữ liệu là một tập dữ liệu hiện có
    • bảng là tên của bảng mà bạn đang tải dữ liệu vào
    • path_to_source là URI lưu trữ đám mây đủ điều kiện hoặc danh sách URI được phân tách bằng dấu phẩy. Ký tự đại diện cũng được hỗ trợ
    • lược đồ là một lược đồ hợp lệ. Lược đồ có thể là tệp JSON cục bộ hoặc có thể được nhập nội tuyến như một phần của lệnh. Bạn cũng có thể sử dụng cờ
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      17 thay vì cung cấp định nghĩa lược đồ

    ví dụ

    Lệnh sau tải dữ liệu từ

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    510 vào một bảng có tên là
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    13 trong
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    512. Lược đồ được xác định trong một tệp lược đồ cục bộ có tên là
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    513

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    

    Lệnh sau tải dữ liệu từ

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    510 vào một bảng có tên là
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    13 trong
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    512. Lược đồ được xác định trong một tệp lược đồ cục bộ có tên là
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    513. Tệp CSV bao gồm hai hàng tiêu đề. Nếu
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    29 không được chỉ định, hành vi mặc định là giả sử tệp không chứa tiêu đề

    blob_container = 'yourblobcontainername'
    filePath = "wasbs://" + blob_container + "@" + storage_account_name + ".blob.core.windows.net/Sales/SalesFile.csv"
    salesDf = spark.read.format["csv"].load[filePath, inferSchema = True, header = True]
    
    0

    Lệnh sau tải dữ liệu từ

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    510 vào bảng được phân vùng theo thời gian nhập có tên là
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    13 trong
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    512. Lược đồ được xác định trong một tệp lược đồ cục bộ có tên là
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    513

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    1

    Lệnh sau tải dữ liệu từ

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    510 vào một bảng được phân vùng mới có tên là
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    13 trong
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    512. Bảng được phân vùng trên cột
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    526. Lược đồ được xác định trong một tệp lược đồ cục bộ có tên là
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    513

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    1

    Lệnh sau tải dữ liệu từ

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    510 vào một bảng có tên là
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    13 trong
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    512. Lược đồ được tự động phát hiện

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    2

    Lệnh sau tải dữ liệu từ

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    510 vào một bảng có tên là
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    13 trong
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    512. Lược đồ được xác định nội tuyến ở định dạng
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    534

    ______53Ghi chú. Khi bạn chỉ định lược đồ bằng công cụ dòng lệnh
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    535, bạn không thể bao gồm loại
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    536 [
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    537], 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à
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    538. Để bao gồm các mô tả trường, chế độ và loại
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    536, hãy cung cấp tệp lược đồ JSON thay thế.

    Lệnh sau tải dữ liệu từ nhiều tệp trong

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    540 vào một bảng có tên là
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    13 trong
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    512. URI lưu trữ đám mây sử dụng ký tự đại diện. Lược đồ được tự động phát hiện

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    2

    Lệnh sau tải dữ liệu từ nhiều tệp trong

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    540 vào một bảng có tên là
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    13 trong
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    512. 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à
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    513

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    50

    API

    1. Tạo công việc

          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      547 trỏ đến dữ liệu nguồn trong Lưu trữ đám mây

    2. [Tùy chọn] Chỉ định vị trí của bạn trong thuộc tính

          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      548 trong phần
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      549 của tài nguyên công việc

    3. Thuộc tính

          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      550 phải đủ điều kiện, ở định dạng
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      551. Mỗi URI có thể chứa một ký tự đại diện '*'

    4. Chỉ định định dạng dữ liệu CSV bằng cách đặt thuộc tính

          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      552 thành
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      15

    5. Để kiểm tra trạng thái công việc, hãy gọi

          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      554, trong đó job_id là ID của công việc được yêu cầu ban đầu trả về

      • Nếu
            bq load \
            --source_format=CSV \
            mydataset.mytable \
            gs://mybucket/mydata.csv \
            ./myschema.json
        
        555, công việc đã hoàn thành thành công
      • Nếu có thuộc tính
            bq load \
            --source_format=CSV \
            mydataset.mytable \
            gs://mybucket/mydata.csv \
            ./myschema.json
        
        556, yêu cầu không thành công và đối tượng đó sẽ bao gồm thông tin mô tả những gì đã xảy ra. Khi yêu cầu không thành công, không có bảng nào được tạo và không có dữ liệu nào được tải
      • Nếu không có
            bq load \
            --source_format=CSV \
            mydataset.mytable \
            gs://mybucket/mydata.csv \
            ./myschema.json
        
        556, công việc đã hoàn tất thành công, mặc dù có thể có một số lỗi không nghiêm trọng, chẳng hạn như sự cố khi nhập một vài hàng. Các lỗi không nghiêm trọng được liệt kê trong thuộc tính
            bq load \
            --source_format=CSV \
            mydataset.mytable \
            gs://mybucket/mydata.csv \
            ./myschema.json
        
        558 của đối tượng công việc được trả lại

    ghi chú API

    • Công việc tải là nguyên tử và nhất quán;

    • Cách tốt nhất là tạo một ID duy nhất và chuyển ID đó thành

          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      559 khi gọi
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      560 để tạo công việc tải. Cách tiếp cận này hiệu quả hơn đối với sự cố mạng vì khách hàng có thể thăm dò hoặc thử lại trên ID công việc đã biết

    • Gọi

          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      560 trên ID công việc nhất định là idempotent. Bạn có thể thử lại bao nhiêu lần tùy thích trên cùng một ID công việc và nhiều nhất một trong các thao tác đó sẽ thành công

    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 Phản hồi

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    51

    Đi

    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 Phản hồi

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    52

    Java

    Trướ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 Phản hồi

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    53

    Nút. js

    Trướ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 Phản hồi

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    54

    PHP

    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 Phản hồi

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    55

    con trăn

    Trướ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 ứng dụng khách. phương thức load_table_from_uri[] để 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 LoadJobConfig. thuộc tính lược đồ vào danh sách các đối tượng SchemaField

    Xem trên GitHub Phản hồi

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    56

    hồng ngọc

    Trướ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 Phản hồi

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    57

    Đ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

    Đi

    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 Phản hồi

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    58

    Java

    Trướ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 Phản hồi

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    59

    Nút. js

    Trướ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 Phản hồi

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    80

    con trăn

    Trướ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 Phản hồi

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    81

    Thêm vào hoặc ghi đè lên bảng bằng dữ liệu CSV

    Bạ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ển
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    535 cờ công cụ Thuộc tính API BigQueryMô tảGhi nếu trốngKhông được hỗ trợ
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    563Chỉ ghi dữ liệu nếu bảng trống. Nối vào bảng
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    564 hoặc
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    565; . Ghi đè lên bảng
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    568 hoặc
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    569
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    570Xó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 KMS

    Nế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. Thêm vào và ghi đè lên dữ liệu bảng được phân vùng.

    Bảng điều khiển

    1. Trong bảng điều khiển Google Cloud, hãy truy cập trang BigQuery

      Truy cập BigQuery

    2. Trong ngăn Explorer, hãy mở rộng dự án của bạn rồi chọn một tập dữ liệu
    3. Trong phần Thông tin tập dữ liệu, hãy nhấp vào add_box Tạo bảng.
    4. Trong bảng Tạo bảng, chỉ định các chi tiết sau
      1. Trong phần Nguồn, chọn Google Cloud Storage trong danh sách Tạo bảng từ. Sau đó, làm như sau
        1. Chọn một tệp từ nhóm Lưu trữ đám mây hoặc nhập URI lưu trữ đám mây. Bạn không thể bao gồm nhiều URI trong bảng điều khiển Google Cloud, nhưng các ký tự đại diện được hỗ trợ. Bộ chứa Lưu trữ đám mây phải ở cùng vị trí với tập dữ liệu chứa bảng mà bạn muốn tạo, nối thêm hoặc ghi đè.
        2. Đối với Định dạng tệp, hãy chọn CSV
      2. Ghi chú. Có 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 hoạt động tải, hãy xem Sửa đổi lược đồ bảng
      3. Trong phần Đích, chỉ định các chi tiết sau
        1. Đối với Tập dữ liệu, hãy chọn tập dữ liệu mà bạn muốn tạo bảng
        2. Trong trường Bảng, nhập tên của bảng mà bạn muốn tạo
        3. Xác minh rằng trường Loại bảng được đặt thành Bảng gốc
      4. Trong phần Lược đồ, nhập định nghĩa lược đồ. Để bật tính năng tự động phát hiện lược đồ, hãy chọn Tự động phát hiện. Bạn có thể nhập thông tin lược đồ theo cách thủ công bằng cách sử dụng một trong các phương pháp sau
        • lựa chọn 1. Nhấp vào Chỉnh sửa dưới dạng văn bản và dán lược đồ ở dạng mảng JSON. Khi bạn sử dụng một mảng JSON, bạn tạo lược đồ bằng quy trình tương tự như tạo tệp lược đồ JSON. Bạn có thể xem lược đồ của một bảng hiện có ở định dạng JSON bằng cách nhập lệnh sau.
              bq load \
              --source_format=CSV \
              mydataset.mytable \
              gs://mybucket/mydata.csv \
              ./myschema.json
          
          7
        • Tùy chọn 2. Nhấp vào add_box Thêm trường và nhập lược đồ bảng. Chỉ định Tên, Loại và Chế độ của từng trường.
        • Ghi chú. Có 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 hoạt động tải, hãy xem Sửa đổi lược đồ bảng
      5. Không bắt buộc. Chỉ định cài đặt phân vùng và cụm. Để biết thêm thông tin, hãy xem Tạo các bảng được phân vùng và Tạo và sử dụng các bảng được phân cụm. Bạn không thể chuyển đổi bảng thành bảng được phân vùng hoặc nhóm bằng cách nối thêm hoặc ghi đè lên bảng đó. Bảng điều khiển Google Cloud không hỗ trợ nối thêm hoặc ghi đè lên các bảng được phân vùng hoặc nhóm trong một tác vụ tải
      6. Nhấp vào Tùy chọn nâng cao và thực hiện các thao tác sau
        • Đối với tùy chọn Viết, hãy chọn Thêm vào bảng hoặc Ghi đè lên bảng
        • Đối với Số lượng lỗi được phép, hãy chấp nhận giá trị mặc định của
              bq load \
              --source_format=CSV \
              mydataset.mytable \
              gs://mybucket/mydata.csv \
              ./myschema.json
          
          17 hoặc nhập số hàng tối đa chứa lỗi có thể bỏ qua. Nếu số lượng hàng có lỗi vượt quá giá trị này, công việc sẽ dẫn đến thông báo
              bq load \
              --source_format=CSV \
              mydataset.mytable \
              gs://mybucket/mydata.csv \
              ./myschema.json
          
          18 và không thành công. Tùy chọn này chỉ áp dụng cho các tệp CSV và JSON
        • Nếu bạn muốn bỏ qua các giá trị trong một hàng không có trong lược đồ của bảng, hãy chọn Giá trị không xác định
        • Đối với Dấu phân cách trường, hãy chọn ký tự phân tách các ô trong tệp CSV của bạn. Dấu phẩy, Tab, Ống hoặc Tùy chỉnh. Nếu chọn Custom thì điền dấu phân cách vào ô Custom field delimiter. Giá trị mặc định là Dấu phẩy
        • Để bỏ qua các hàng Tiêu đề, hãy nhập số hàng tiêu đề cần bỏ qua ở đầu tệp CSV. Giá trị mặc định là
              bq load \
              --source_format=CSV \
              mydataset.mytable \
              gs://mybucket/mydata.csv \
              ./myschema.json
          
          17
        • Đối với các dòng mới được trích dẫn, hãy kiểm tra Cho phép các dòng mới được trích dẫn để cho phép các phần dữ liệu được trích dẫn có chứa các ký tự dòng mới trong tệp CSV. Giá trị mặc định là
              bq load \
              --source_format=CSV \
              mydataset.mytable \
              gs://mybucket/mydata.csv \
              ./myschema.json
          
          10
        • Đối với các hàng có răng cưa, hãy chọn Cho phép các hàng có răng cưa chấp nhận các hàng trong tệp CSV bị thiếu các cột tùy chọn ở cuối. Các giá trị bị thiếu được coi là null. Nếu không được chọn, các bản ghi bị thiếu cột theo sau được coi là bản ghi không hợp lệ và nếu có quá nhiều bản ghi không hợp lệ, lỗi không hợp lệ sẽ được trả về trong kết quả công việc. Giá trị mặc định là
              bq load \
              --source_format=CSV \
              mydataset.mytable \
              gs://mybucket/mydata.csv \
              ./myschema.json
          
          10
        • Đối với Mã hóa, hãy nhấp vào Khóa do khách hàng quản lý để sử dụng khóa Dịch vụ quản lý khóa đám mây. Nếu bạn rời khỏi tùy chọn cài đặt khóa do Google quản lý, thì BigQuery sẽ mã hóa dữ liệu ở trạng thái lưu trữ
      7. Nhấp vào Tạo bảng

    SQL

    Sử dụng câu lệnh

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    12 DDL. Ví dụ sau nối tệp CSV vào bảng
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    13

    1. Trong bảng điều khiển Google Cloud, hãy truy cập trang BigQuery

      Truy cập BigQuery

    2. Trong trình chỉnh sửa truy vấn, hãy nhập câu lệnh sau

          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      83
    3. Nhấp vào play_circle Chạy.

    Để biết thêm thông tin về cách chạy truy vấn, hãy xem Chạy truy vấn tương tác

    bq

    Sử dụng lệnh

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    14, chỉ định
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    15 bằng cờ
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    16 và bao gồm URI lưu trữ đám mây. 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 ký tự đại diện

    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à

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    17 là
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    10 và bảng đích tồn tại, thì lược đồ của bảng đích sẽ được sử dụng

    Chỉ định cờ

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    568 để ghi đè lên bảng. Sử dụng cờ
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    564 để 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ệu

    Có 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ờ

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    19 và đặt giá trị cho vị trí của bạn

    Các cờ tùy chọn khác bao gồm

    •     bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      20. Khi được chỉ định, hãy chấp nhận các hàng trong tệp CSV bị thiếu các cột tùy chọn ở cuối. Các giá trị bị thiếu được coi là null. Nếu không được chọn, các bản ghi bị thiếu cột theo sau được coi là bản ghi không hợp lệ và nếu có quá nhiều bản ghi không hợp lệ, lỗi không hợp lệ sẽ được trả về trong kết quả công việc. Giá trị mặc định là
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      10
    •     bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      22. Khi được chỉ định, cho phép các phần dữ liệu được trích dẫn có chứa ký tự dòng mới trong tệp CSV. Giá trị mặc định là
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      10
    •     bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      24. Ký tự chỉ ranh giới giữa các cột trong dữ liệu. Cả
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      25 và
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      26 đều được phép sử dụng dấu phân cách tab. Giá trị mặc định là
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      27
    •     bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      28. Chuỗi tùy chỉnh tùy chọn đại diện cho giá trị NULL trong dữ liệu CSV
    •     bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      29. Chỉ định số hàng tiêu đề cần bỏ qua ở đầu tệp CSV. Giá trị mặc định là
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      17
    •     bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      31. Ký tự trích dẫn được sử dụng để đính kèm bản ghi. Giá trị mặc định là
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      32. Để biểu thị không có ký tự trích dẫn, hãy sử dụng một chuỗi rỗng
    •     bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      33. Một số nguyên xác định số bản ghi lỗi tối đa được phép trước khi toàn bộ công việc không thành công. Giá trị mặc định là
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      17. Nhiều nhất, năm lỗi thuộc bất kỳ loại nào được trả về bất kể giá trị
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      33
    •     bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      36. Khi được chỉ định, cho phép và bỏ qua các giá trị bổ sung, không được nhận dạng trong dữ liệu CSV hoặc JSON
    •     bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      17. Khi được chỉ định, hãy bật tính năng tự động phát hiện lược đồ cho dữ liệu CSV và JSON
    •     bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      504. Khóa Cloud KMS để mã hóa dữ liệu bảng
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    84

    ở đâu

    • vị trí là vị trí của bạn. Cờ
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      19 là tùy chọn. Bạn có thể đặt giá trị mặc định cho vị trí bằng cách sử dụng. tập tin bigqueryrc
    • định dạng là
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      15
    • tập dữ liệu là một tập dữ liệu hiện có
    • bảng là tên của bảng mà bạn đang tải dữ liệu vào
    • path_to_source là URI lưu trữ đám mây đủ điều kiện hoặc danh sách URI được phân tách bằng dấu phẩy. Ký tự đại diện cũng được hỗ trợ
    • lược đồ là một lược đồ hợp lệ. Lược đồ có thể là tệp JSON cục bộ hoặc có thể được nhập nội tuyến như một phần của lệnh. Bạn cũng có thể sử dụng cờ
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      17 thay vì cung cấp định nghĩa lược đồ

    ví dụ

    Lệnh sau tải dữ liệu từ

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    510 và ghi đè lên bảng có tên
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    13 trong
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    512. Lược đồ được xác định bằng tính năng tự động phát hiện lược đồ

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    85

    Lệnh sau tải dữ liệu từ

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    510 và nối thêm dữ liệu vào bảng có tên
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    13 trong
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    512. Lược đồ được xác định bằng tệp lược đồ JSON —
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    513

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    86

    API

    1. Tạo công việc

          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      547 trỏ đến dữ liệu nguồn trong Lưu trữ đám mây

    2. [Tùy chọn] Chỉ định vị trí của bạn trong thuộc tính

          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      548 trong phần
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      549 của tài nguyên công việc

    3. Thuộc tính

          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      550 phải đủ điều kiện, ở định dạng
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      551. Bạn có thể bao gồm nhiều URI dưới dạng danh sách được phân tách bằng dấu phẩy. Lưu ý rằng ký tự đại diện cũng được hỗ trợ

    4. Chỉ định định dạng dữ liệu bằng cách đặt thuộc tính

          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      820 thành
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      15

    5. Chỉ định tùy chọn ghi bằng cách đặt thuộc tính

          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      822 thành
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      570 hoặc
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      567

    Đi

    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 Phản hồi

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    87

    Java

    Trướ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 Phản hồi

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    88

    Nút. js

    Trướ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 load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    825 trong tham số
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    826 thành
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    827

    Xem trên GitHub Phản hồi

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    89

    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 Phản hồi

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    0

    con trăn

    Trướ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 LoadJobConfig. write_disposition vào hằng số SourceFormat

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    570

    Xem trên GitHub Phản hồi

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    1

    Đang tải dữ liệu CSV được phân vùng tổ ong

    BigQuery 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 CSV

    Phầ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óa

    BigQuery 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 cờ

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    829

    Ghi chú. Theo mặc định, nếu tệp CSV chứa ký tự ASCII
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    17 [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
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    17 và các ký tự điều khiển ASCII khác, hãy đặt
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    832 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 ký tự ASCII

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    17, 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ường

    Dấ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ệu

    Boolean. 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à 1

    byte. Các cột có loại BYTES phải được mã hóa dưới dạng Base64

    Ngày tháng. Các cột có loại NGÀY phải ở định dạng

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    5

    Ngày giờ. Các cột có loại DATETIME phải ở định dạng

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    835

    Môn Đị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

    • Văn bản nổi tiếng [WKT]
    • Nhị phân nổi tiếng [WKB]
    • GeoJSON

    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ệ

    • WKT.
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      836
    • GeoJSON.
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      837
    • WKB được mã hóa hex.
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      838

    Trước khi tải dữ liệu ĐỊA LÝ, hãy đọc thêm Đang tải dữ liệu không gian địa lý

    khoảng thời gian. Các cột có loại

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    839 phải ở định dạng
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    840, trong đó

    • Y = Năm. Phạm vi được hỗ trợ là 0-10.000
    • M = Tháng. Phạm vi được hỗ trợ là 1-12
    • Đ = Ngày. Phạm vi được hỗ trợ là 1-[ngày cuối cùng của tháng được chỉ định]
    • H = Giờ
    • M = Phút
    • S = Thứ hai
    • [. F] = Phân số của một giây lên đến sáu chữ số, với độ chính xác micro giây

    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ệ

    •     bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      841
    •     bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      842
    •     bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      843

    Để tải dữ liệu INTERVAL, bạn phải sử dụng lệnh

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    14 và sử dụng cờ
        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    845 để 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 load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    846. Để biết thêm thông tin, hãy xem ví dụ về tải dữ liệu JSON từ tệp CSV

    Thời gian. Các cột có loại THỜI GIAN phải ở định dạng

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    847

    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

    • Phần ngày có thể được định dạng là

          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      5 hoặc
          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      849

    • Phần dấu thời gian phải được định dạng là

          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      850 [giây và phân số của giây là tùy chọn]

    • Ngày và giờ phải được phân tách bằng dấu cách hoặc 'T'

    • Theo tùy chọn, ngày và giờ có thể được theo sau bởi phần bù UTC hoặc bộ chỉ định vùng UTC [

          bq load \
          --source_format=CSV \
          mydataset.mytable \
          gs://mybucket/mydata.csv \
          ./myschema.json
      
      851]. Để biết thêm thông tin, xem Múi giờ

    Ví dụ: bất kỳ giá trị nào sau đây là giá trị dấu thời gian hợp lệ

    • 2018-08-19 12. 11
    • 2018-08-19 12. 11. 35
    • 2018-08-19 12. 11. 35. 22
    • 2018/08/19 12. 11
    • 2018-07-05 12. 54. 00 UTC
    • 2018-08-19 07. 11. 35. 220 -05. 00
    • 2018-08-19T12. 11. 35. 220Z

    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

    • 1534680695
    • 1. 534680695e11

    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 CSV

    BigQuery phát hiện các dấu phân cách sau

    • dấu phẩy [ , ]
    • đường ống [. ]
    • tab [ \t ]

    tiêu đề CSV

    BigQuery 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 quy tắc đặt tên cho các cột 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 load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    852. 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ể thay đổi tên theo cách thủ công 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

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    29 để 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ột

    CSV trích dẫn dòng mới

    BigQuery 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

        bq load \
        --source_format=CSV \
        mydataset.mytable \
        gs://mybucket/mydata.csv \
        ./myschema.json
    
    535 hoặc API

    Chủ Đề