我曾经在用户界面查询
这次,我在云外壳中,尝试通过python
package main
import (
"bufio"
"fmt"
"os"
"sync"
)
func hashPhoneNumers(phoneNO string, ch chan struct{}, group *sync.WaitGroup) {
do_hash(phoneNO)
<-ch
group.Done()
}
func do_hash(s string) {
fmt.Println("do hash: ", s)
}
func main() {
c := make(chan struct{}, 100)
file, err := os.Open("file.txt")
if err != nil {
fmt.Println(err)
os.Exit(-1)
}
defer file.Close()
line := bufio.NewScanner(file)
wg := sync.WaitGroup{}
for line.Scan() {
// with a maximum of 100 concurrent process maximum
c <- struct{}{}
wg.Add(1)
go hashPhoneNumers(line.Text(), c, &wg)
}
// wait all goroutines done
wg.Wait()
close(c)
}
我收到了以下错误...
google.api_core.exceptions.BadRequest:400 GET https://www.googleapis.com/bigquery/v2/projects/gcd-my-reporting/datasets/mytest-0001:reports_test:无效的数据集ID“mytest-0001:reports_test”。数据集ID必须是al phanumeric(加上下划线,破折号和冒号),最多不超过1024个字符。
由于某些原因我无法修改数据集ID,有没有想法修复此问题?
答案 0 :(得分:2)
您不必修改participants
,只需指定dataset id
而不是dataset id
。如果您出于任何原因要指定项目,则必须按照this document中的说明定义project id
时执行此操作。
代码将是:
client
答案 1 :(得分:0)
假设您的项目名称为mytest-0001
,则应将数据集ID设置为'reports_test'
。看起来您将项目名称包含在数据集ID中,这将无效。
答案 2 :(得分:0)
您只需要从dataset_id中删除project_id,然后与table_id类似,只需输入数据集和表的名称即可。
答案 3 :(得分:0)
您可以使用dataset
和table
这样的名称:
from google.cloud import bigquery
bigqueryClient = bigquery.Client()
tableRef = bigqueryClient.dataset(datasetName).table(tableName)