2017-06-28 55 views
0

我在Azure Blob存儲中有一堆文件,它不斷獲取新文件。我想知道是否有辦法讓我首先獲取Blob中的所有數據並將其移至BigQuery,然後保持腳本或某個作業正在運行,以便將那裏的所有新數據發送到BigQuery?有沒有辦法將數據從Azure Blob連續傳輸到BigQuery?

+0

May [this](https://www.stitchdata.com/integrations/microsoft-azure/google-bigquery/)文章可以幫助您。 –

+0

謝謝!我注意到了,但我認爲他們的長期整合,我看到他們的訂閱(我需要傳輸的數據量)是每月500美元。我的目標是找到一個一貫免費的解決方案(但我會檢查這是否可行與這一點更多) – Michael

+0

不幸的是,數據也不在數據庫中。它在Azure Blob存儲中,Stitch似乎不允許進行集成。 – Michael

回答

1

的BigQuery提供支持querying data directly from these external data sources谷歌的Cloud Bigtable谷歌雲存儲谷歌驅動。不包括Azure Blob存儲。正如Adam Lydick所說,作爲一種解決方法,您可以將數據/文件從Azure Blob存儲複製到Google Cloud Storage(或其他支持BigQuery的外部數據源)。

從Azure的Blob存儲的數據複製到谷歌雲存儲,可以運行WebJobs(或Azure Functions)和BlobTriggerred WebJob可觸發功能創建或更新一個blob的時候,WebJob功能,您可以訪問BLOB內容,寫/將其上傳到Google雲端存儲。

注意:我們可以安裝此庫:Google.Cloud.Storage在客戶端代碼中進行常用操作。並且this blog解釋瞭如何在Azure函數中使用Google.Cloud.Storage sdk。

+0

謝謝,弗雷德!我會仔細研究一下,看看這可能是比虛擬機更好的方式!這一切都取決於成本和速度:) – Michael

+0

好主意!請注意,BigQuery對每天的總加載操作數有限制,所以如果寫入速度非常高,則可能需要批量加載或使用數據流插入。 –

+0

我每天最多隻能上傳約100個文件,所以似乎沒有超出限制。 – Michael

1

我不知道任何可以實現這一點的開箱即用(在Google的基礎架構上)。

我可能會成立一個微小的虛擬機:

  • 掃描您的Azure的Blob存儲在尋找新的內容。
  • 將新內容複製到GCS(或本地磁盤)。
  • 定期啓動LOAD作業以將新數據添加到BigQuery。

如果用來代替Azure的Blob存儲GCS,您可以消除虛擬機,只是有一個被觸發新項目被添加到您的GCS桶(假設你的斑點是在BigQuery的知道一個形式的雲功能如何閱讀)。我認爲這是現有解決方案的一部分,您不希望修改。

+0

謝謝,亞當!我想這就是我將要結束的事情。是的,這是現有解決方案的一部分,它不斷地將這些文件添加到Blob中,並且我無法將其更改爲直接添加到GCS。我馬上開始:) – Michael

相關問題