管理 BigQuery DataFrames 工作階段和 I/O
本文說明如何在使用 BigQuery DataFrame 時管理工作階段,以及執行輸入/輸出 (I/O) 作業。您將瞭解如何建立及使用工作階段、處理記憶體內資料,以及從檔案和 BigQuery 資料表讀取及寫入資料。
BigQuery 工作階段
BigQuery DataFrames 會在內部使用本機工作階段物件管理中繼資料。每個 DataFrame
和 Series
物件都會連線至工作階段,每個工作階段都會連線至位置,且工作階段中的每項查詢都會在您建立工作階段的位置執行。使用下列程式碼範例手動建立工作階段,並用於載入資料:
您無法合併多個工作階段例項的資料,即使您使用相同設定初始化這些例項也一樣。下列程式碼範例顯示,嘗試合併不同工作階段執行個體的資料會導致錯誤:
全域工作階段
BigQuery DataFrames 提供預設全域工作階段,您可以使用 bigframes.pandas.get_global_session()
方法存取。在 Colab 中,您必須先為 bigframes.pandas.options.bigquery.project
屬性提供專案 ID,才能使用該屬性。您也可以使用 bigframes.pandas.options.bigquery.location
屬性設定位置,預設為 US
多地區。
下列程式碼範例顯示如何設定全域工作階段的選項:
如要重設全域工作階段的位置或專案,請執行 bigframes.pandas.close_session()
方法來關閉目前的工作階段。
許多 BigQuery DataFrames 內建函式預設會使用全域工作階段。以下程式碼範例說明內建函式如何使用全域工作階段:
記憶體內建資料
您可以使用內建的 Python 或 NumPy 資料結構建立 Dataframes
和 Series
物件,與使用 pandas 建立物件的方式類似。使用下列程式碼範例建立物件:
如要使用 read_pandas()
方法或建構函式將 pandas
物件轉換為 DataFrames
物件,請使用下列程式碼範例:
如要使用 to_pandas()
方法將 BigQuery DataFrames 資料載入記憶體,請使用下列程式碼範例:
使用 dry_run
參數估算費用
載入大量資料可能需要耗費許多時間和資源。如要查看處理的資料量,請在 to_pandas()
呼叫中使用 dry_run=True
參數。使用下列程式碼範例執行模擬測試:
讀取及寫入檔案
您可以將相容檔案中的資料讀取至 BigQuery DataFrames。這些檔案可以位於本機或 Cloud Storage 中。請使用下列程式碼範例,從 CSV 檔案讀取資料:
如要使用 to_csv
方法將 BigQuery DataFrame 儲存至本機檔案或 Cloud Storage 檔案,請使用下列程式碼範例:
讀取及寫入 BigQuery 資料表
如要使用 BigQuery 資料表參照和 bigframes.pandas.read_gbq
函式建立 BigQuery DataFrames,請使用下列程式碼範例:
如要使用 SQL 字串搭配 read_gbq()
函式,將資料讀取至 BigQuery DataFrames,請使用下列程式碼範例:
如要將 DataFrame
物件儲存至 BigQuery 資料表,請使用 DataFrame
物件的 to_gbq()
方法。以下程式碼範例說明如何執行這項操作:
後續步驟
- 瞭解如何使用 BigQuery DataFrame。
- 瞭解如何在 BigQuery DataFrames 中使用資料型別。
- 瞭解如何使用 BigQuery DataFrame 繪製圖表。
- 請參閱 BigQuery DataFrames API 參考資料。