本文整理匯總了Golang中cloud/google/com/go/bigquery.Client.Query方法的典型用法代碼示例。如果您正苦於以下問題:Golang Client.Query方法的具體用法?Golang Client.Query怎麽用?Golang Client.Query使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類cloud/google/com/go/bigquery.Client
的用法示例。
在下文中一共展示了Client.Query方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: listRows
func listRows(client *bigquery.Client, datasetID, tableID string) error {
ctx := context.Background()
// [START bigquery_list_rows]
q := client.Query(fmt.Sprintf(`
SELECT name, count
FROM [%s.%s]
WHERE count >= 5
`, datasetID, tableID))
it, err := q.Read(ctx)
if err != nil {
return err
}
for {
var row []bigquery.Value
err := it.Next(&row)
if err == iterator.Done {
break
}
if err != nil {
return err
}
fmt.Println(row)
}
// [END bigquery_list_rows]
return nil
}
示例2: asyncQuery
func asyncQuery(client *bigquery.Client, datasetID, tableID string) error {
ctx := context.Background()
// [START bigquery_async_query]
q := client.Query(fmt.Sprintf(`
SELECT name, count
FROM [%s.%s]
`, datasetID, tableID))
job, err := q.Run(ctx)
if err != nil {
return err
}
// Wait until async querying is done.
status, err := job.Wait(ctx)
if err != nil {
return err
}
if err := status.Err(); err != nil {
return err
}
it, err := job.Read(ctx)
for {
var row []bigquery.Value
err := it.Next(&row)
if err == iterator.Done {
break
}
if err != nil {
return err
}
fmt.Println(row)
}
// [END bigquery_async_query]
return nil
}