久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

Google DataFlow 無(wú)法在不同位置讀寫(Python SDK v0.5.5

Google DataFlow Cannot read and write in different locations (Python SDK v0.5.5)(Google DataFlow 無(wú)法在不同位置讀寫(Python SDK v0.5.5))
本文介紹了Google DataFlow 無(wú)法在不同位置讀寫(Python SDK v0.5.5)的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!

問(wèn)題描述

我正在使用 Python SDK v0.5.5 編寫一個(gè)非常基本的 DataFlow 管道.該管道使用帶有傳入查詢的 BigQuerySource,該查詢正在從位于歐盟的數(shù)據(jù)集中查詢 BigQuery 表.

I'm writing a very basic DataFlow pipeline using the Python SDK v0.5.5. The pipeline uses a BigQuerySource with a query passed in, which is querying BigQuery tables from datasets that reside in EU.

執(zhí)行管道時(shí)出現(xiàn)以下錯(cuò)誤(項(xiàng)目名稱匿名):

When executing the pipeline I'm getting the following error (project name anonymized):

HttpError: HttpError accessing <https://www.googleapis.com/bigquery/v2/projects/XXXXX/queries/93bbbecbc470470cb1bbb9c22bd83e9d?alt=json&maxResults=10000>: response: <{'status': '400', 'content-length': '292', 'x-xss-protection': '1; mode=block', 'x-content-type-options': 'nosniff', 'transfer-encoding': 'chunked', 'expires': 'Thu, 09 Feb 2017 10:28:04 GMT', 'vary': 'Origin, X-Origin', 'server': 'GSE', '-content-encoding': 'gzip', 'cache-control': 'private, max-age=0', 'date': 'Thu, 09 Feb 2017 10:28:04 GMT', 'x-frame-options': 'SAMEORIGIN', 'alt-svc': 'quic=":443"; ma=2592000; v="35,34"', 'content-type': 'application/json; charset=UTF-8'}>, content <{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "invalid",
    "message": "Cannot read and write in different locations: source: EU, destination: US"
   }
  ],
  "code": 400,
  "message": "Cannot read and write in different locations: source: EU, destination: US"
 }
}

在指定項(xiàng)目、數(shù)據(jù)集和表名時(shí)也會(huì)出現(xiàn)該錯(cuò)誤.但是,從可用的公共數(shù)據(jù)集(位于美國(guó)——如莎士比亞)中選擇數(shù)據(jù)時(shí)沒(méi)有錯(cuò)誤.我也有運(yùn)行 SDK 的 v0.4.4 的作業(yè),但沒(méi)有此錯(cuò)誤.

The error also occurs when specifying a project, dataset and table name. However there's no error when selecting data from the public datasets available (which reside in US - like shakespeare). I also have jobs running v0.4.4 of the SDK which don't have this error.

這些版本之間的區(qū)別在于臨時(shí)數(shù)據(jù)集的創(chuàng)建,如管道啟動(dòng)時(shí)的警告所示:

The difference between these versions is the creation of a temp dataset, as is shown by the warning at pipeline startup:

WARNING:root:Dataset does not exist so we will create it

我簡(jiǎn)要了解了 SDK 的不同版本,差異似乎在于這個(gè)臨時(shí)數(shù)據(jù)集.看起來(lái)當(dāng)前版本默認(rèn)創(chuàng)建了一個(gè)臨時(shí)數(shù)據(jù)集,其位置在美國(guó)(取自 master):

I've briefly taken a look at the different versions of the SDK and the difference seems to be around this temp dataset. It looks like the current version creates a temp dataset by default with a location in US (taken from master):

  • 創(chuàng)建數(shù)據(jù)集
  • 默認(rèn)數(shù)據(jù)集位置

我還沒(méi)有找到禁用創(chuàng)建這些臨時(shí)數(shù)據(jù)集的方法.我是否忽略了某些東西,或者在從歐盟數(shù)據(jù)集中選擇數(shù)據(jù)時(shí)這確實(shí)不再起作用?

I haven't found a way to disable the creation of these temp datasets. Am I overlooking something, or is this indeed not working anymore when selecting data from EU datasets?

推薦答案

感謝您報(bào)告此問(wèn)題.我假設(shè)您使用的是 DirectRunner.我們更改了 DirectRunner 的 BigQuery 讀取轉(zhuǎn)換的實(shí)現(xiàn),以創(chuàng)建臨時(shí)數(shù)據(jù)集(適用于 SDK 版本 0.5.1 及更高版本)以支持大型數(shù)據(jù)集.似乎我們?cè)谶@里沒(méi)有正確設(shè)置區(qū)域.我們會(huì)研究解決這個(gè)問(wèn)題.

Thanks for reporting this issue. I assume you are using DirectRunner. We changed the implementation of BigQuery read transform for DirectRunner to create a temporary dataset (for SDK versions 0.5.1 and later) to support large datasets. Seems like we are not setting the region correctly here. We'll look into fixing this.

如果您使用在正確區(qū)域創(chuàng)建臨時(shí)數(shù)據(jù)集的 DataflowRunner,則不會(huì)出現(xiàn)此問(wèn)題.

This issue should not occur if you use DataflowRunner which creates temporary datasets in the correct region.

這篇關(guān)于Google DataFlow 無(wú)法在不同位置讀寫(Python SDK v0.5.5)的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來(lái)源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問(wèn)題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請(qǐng)聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

How should I verify a log message when testing Python code under nose?(在鼻子下測(cè)試 Python 代碼時(shí),我應(yīng)該如何驗(yàn)證日志消息?)
Patch __call__ of a function(修補(bǔ)函數(shù)的 __call__)
How to call self in a mock method of an object in Python?(如何在 Python 中對(duì)象的模擬方法中調(diào)用 self?)
Mocking only a single method on an object(僅模擬對(duì)象上的單個(gè)方法)
Mocking a subprocess call in Python(在 Python 中模擬子進(jìn)程調(diào)用)
Checking call order across multiple mocks(檢查多個(gè)模擬的調(diào)用順序)
主站蜘蛛池模板: 国产乱码精品一区二区三区五月婷 | 亚洲精品91 | 国产在线中文字幕 | 精品国产一区三区 | 国产精品爱久久久久久久 | 免费观看日韩精品 | 亚洲一区 | 亚洲精品一区中文字幕 | 狠狠久久久 | 亚洲+变态+欧美+另类+精品 | 国产成人99久久亚洲综合精品 | 狠狠综合久久av一区二区老牛 | 久久精品小短片 | 久久久国产精品视频 | 欧美日韩一卡二卡 | 色网站视频 | 国产一区不卡在线观看 | 九九亚洲 | 综合色播 | 性高湖久久久久久久久 | 日日摸天天添天天添破 | 视频一区二区在线观看 | 久久亚洲天堂 | 成人午夜免费在线视频 | 91av在线免费 | 成年人免费网站 | 国产精品久久久久久 | 精品国产一区二区三区四区在线 | 91人人看 | 欧美一级二级三级 | 国内av在线 | 天天操天天干天天透 | www.亚洲.com | 日本免费一区二区三区视频 | 国产精品美女www爽爽爽视频 | 亚洲精品国产一区 | 91精品成人久久 | 久久久69| 欧美成人精品一区二区男人看 | 国产一区二区在线观看视频 | a a毛片 |