簡體   English   中英

從 Google Storage Cloud 讀取數據到 Google Cloud Datalab 奇怪的錯誤

[英]Read data from Google Storage Cloud to Google Cloud Datalab Weird Error

我正在嘗試完全按照此處的建議將 csv_file 從 Google Storage Cloud 讀取到 Google Cloud Datalab。

我不斷收到錯誤消息:源對象 gs://analog-arbor-233411/traissn.csv 不存在。 (analog-arbor-233411 是我的存儲桶名稱,traissn.csv 是我的 csv 文件。

所以在這里我檢查了存儲桶是否確實存在,並且確實存在。

import google.datalab.storage as storage
mybucket = storage.Bucket('analog-arbor-233411')
mybucket.exists()

在這里,我什至遍歷 mybucket.objects(),它為存儲桶中的對象提供了一個迭代器,以確保我得到一個現有的對象。 所以 data_csv_meta 只取迭代中的最后一個對象。 然后我再次檢查它是否存在,它確實存在!

for i in mybucket.objects():
    data_csv = i
data_csv.exists()

這是一件有趣的事情。 當我運行以下命令時,出現錯誤 Source object gs://analog-arbor-233411/traissn.csv does not exist (my object name in data_csv traissn.csv)

uri = data_csv.uri
%gcs read --object $uri --variable data

試圖到處尋找,但無法得到答案。

在您當前的代碼中, data_csv.exists()for循環之外被調用,因此它僅返回存儲桶迭代器返回的最后一個data_csv對象的結果,該對象可能是也可能不是traissn.csv

所以要么:

  • 如果data_csv指向traissn.csv ,則在for循環內添加一個break語句,以便data_csv保持不變
  • 在 for 循環內進行gcs調用

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM