有没有办法将Azure Blob中的数据连续管道传输到BigQuery?

时间:2017-06-28 15:07:51

标签: azure google-bigquery azure-storage-blobs data-pipeline

我在Azure Blob存储中有一堆文件,并且不断获得新文件。我想知道是否有办法让我首先获取Blob中的所有数据并将其移至BigQuery,然后保持脚本或某个作业运行,以便将其中的所有新数据发送到BigQuery?

2 个答案:

答案 0 :(得分:1)

我不知道任何可以实现此目的的开箱即用(在谷歌的基础设施上)。

我可能会设置一个小型虚拟机:

  • 扫描Azure blob存储,查找新内容。
  • 将新内容复制到GCS(或本地磁盘)。
  • 定期启动LOAD作业,将新数据添加到BigQuery。

如果您使用GCS而不是Azure Blob存储,则可以消除VM,并且只有在添加到GCS存储桶的新项目上触发的云功能(假设您的blob采用BigQuery知道如何阅读的形式)。我认为这是现有解决方案的一部分,但您不希望修改它。

答案 1 :(得分:1)

BigQuery支持querying data directly from these external data sources Google Cloud Bigtable Google云端存储 Google云端硬盘。不包括Azure Blob存储。正如Adam Lydick所提到的,作为一种解决方法,您可以将Azure Blob存储中的数据/文件复制到Google Cloud Storage(或其他支持BigQuery的外部数据源)。

要将Azure Blob存储中的数据复制到Google云端存储,您可以运行WebJobs(或Azure Functions),BlobTriggerred WebJob可以在创建或更新blob时触发功能,在WebJob功能中,您可以访问blob内容并将其写入/上传到Google Cloud Storage。

注意:我们可以安装此库:Google.Cloud.Storage以在客户端代码中进行常规操作。 this blog解释了如何在Azure Functions中使用Google.Cloud.Storage sdk。