2
Jobs.queryを使用してAPIを経由して(SELECT * from [...]
シンプル)BigQueryのテーブルを照会するとき、私はこれはスキーマとして返されます:不完全なスキーマ
"schema": {
"fields": [
{
"name": "all",
"type": "INTEGER",
"mode": "NULLABLE"
},
{
"name": "timestamp",
"type": "TIMESTAMP",
"mode": "NULLABLE"
},
{
"name": "last_timestamp",
"type": "TIMESTAMP",
"mode": "NULLABLE"
},
{
"name": "unique",
"type": "INTEGER",
"mode": "NULLABLE"
},...
しかし、正しくによって返される実際のスキーマ( Tables.get)である:私は、スプレッドシートを移入するアプリケーションのスクリプトでクエリ結果を使用していると私は、列名などのスキーマから説明フィールドを使用したい
"schema": {
"fields": [
{
"name": "all",
"type": "INTEGER",
"mode": "REQUIRED",
"description": "All searches"
},
{
"name": "timestamp",
"type": "TIMESTAMP",
"mode": "REQUIRED",
"description": "Time of processing"
},
{
"name": "last_timestamp",
"type": "TIMESTAMP",
"mode": "REQUIRED",
"description": "Last event"
},
{
"name": "unique",
"type": "INTEGER",
"mode": "REQUIRED",
"description": "Unique users"
},
。実際のスキーマを取得するのにTable.get
を使用できますが、最初のクエリで不完全なスキーマが得られる理由を理解したいと思います。
ありがとうございました。それは私が得る反応に基づいて意味をなさない。しかし、[Jobs.getQueryResults](https://cloud.google.com/bigquery/docs/reference/v2/jobs/getQueryResults#response)のドキュメントのサンプルレスポンスにスキーマの説明フィールドが含まれているのはなぜですか? – numentar
私は間違っている可能性がありますが、ドキュメントは100%完璧ではないと言います。この特定のケースでは、私はそれが多くの異なるAPIで使用されているテーブルリソースセクションのコピーペーストの問題だと思う。 –
良いキャッチ。ドキュメントはAPI定義から自動生成され、API定義のスキーマ部分は、スキーマが表示されるAPIのさまざまな場所で共有されます。ただし、クエリエンジンはクエリ結果スキーマの説明を生成しないため、(少なくとも当分の間は)このフィールドはすべてのクエリ結果に対して省略されます。 –