[BigQuery API(V2)] JavaでBigQueryのジョブを取得する

BigQuery API V2(Java)を使用して、
BigQueryのジョブを取得する方法
についてご紹介します。

**ジョブとは**
データの読み込み、データのエクスポート、データのクエリ、データのコピーなど、
BigQueryがユーザーに代わって実行するアクションを指します。

ジョブの取得には適切なIAM権限が付与されている必要があります。

権限付与に関しては
[⧉[BigQuery API(V2)] JavaでBigQueryを使う(2.権限付与)](https://qiita.com/doran/items/8b7ba29672527426e88d#2-権限付与)
を参照ください。

:::note info
APIを利用する環境の準備から始める場合や、コードを実行する際は、
[⧉[BigQuery API(V2)] JavaでBigQueryを使う](https://qiita.com/doran/items/8b7ba29672527426e88d)
を参照ください。
:::

|No||目次|
|---|---|---|
|1||[ジョブ一覧を取得](#1-ジョブ一覧を取得)|
||1|[スコープ](#11-スコープ)|
||2|[実行](#12-実行)|
||3|[レスポンスの内容](#13-レスポンスの内容)|
|2||[ジョブを取得](#2-ジョブを取得)|
||1|[スコープ](#21-スコープ)|
||2|[実行](#22-実行)|
||3|[レスポンスの内容](#23-レスポンスの内容)|

## 1. ジョブ一覧を取得
指定したプロジェクトのジョブ一覧を取得します。

### 1.1. スコープ
このAPIを実行するには、以下のいずれかのスコープを指定してください。
```
BigqueryScopes.BIGQUERY
BigqueryScopes.CLOUD_PLATFORM
BigqueryScopes.CLOUD_PLATFORM_READ_ONLY
https://www.googleapis.com/auth/bigquery.readonly
```
[⧉[BigQuery API(V2)] JavaでBigQueryを使う(3.2. BigQueryインスタンスを取得)](https://qiita.com/doran/items/8b7ba29672527426e88d#32-bigqueryインスタンスを取得)
でスコープを指定してください。

### 1.2. 実行

```java
public static void main(String[] args) throws Exception{
    Bigquery bigquery = getBigquery();
    Bigquery.Jobs jobs = bigquery.jobs();
    
    Bigquery.Jobs.List list = jobs.list("プロジェクトID");
    
    JobList res = list.execute();
    System.out.println(res);
}
```
#### 1.2.1. HTTPリクエスト
GET:　https:\//bigquery.googleapis.com/bigquery/v2/projects/{プロジェクトID}/jobs
が実行されます。

#### 1.2.2. クエリパラメータ
Bigquery.Jobs.Listのsetメソッドにより、クエリパラメータを追加できます。

|メソッド|引数|説明|
|---|---|---|
|setAllUsers|Boolean|プロジェクト内のすべてのユーザーが所有するジョブを表示するか|
|setMaxResults|Integer|結果の最大数|
|setMinCreationTime|BigInteger|ジョブ作成時間の最小値(ミリ秒)|
|setMaxCreationTime|BigInteger|ジョブ作成時間の最大値(ミリ秒)|
|setPageToken|String|ページトークン|
|setProjection|String|選択したフィールドのセットに返される情報を制限<br>"MINIMAL"、"FULL"|
|setStateFilter|List\<String\>|ジョブ状態のフィルター<br>"DONE"、"PENDING"、"RUNNING"|
|setParentJobId|String|親ジョブ|

### 1.3. レスポンスの内容
#### JobList
|メソッド|戻り値|説明|
|---|---|---|
|getKind|String|リソースの種類<br>固定文字列："bigquery#jobList"|
|getEtag|String|ハッシュ値|
|getNextPageToken|String|次ページのトークン|
|getJobs|List\<[Job](#job)\>|ジョブリスト|
|getUnreachable|List\<String\>|スキップされた場所のリスト|

#### Job
|メソッド|戻り値|説明|
|---|---|---|
|getId|String|ジョブID|
|getKind|String|リソースの種類<br>固定文字列："bigquery#job"|
|getEtag|String|ハッシュ値|
|getSelfLink|String|リソースに再度アクセスするために使用できるURL|
|getUserEmail|String|ジョブを実行したユーザーのメールアドレス|
|getConfiguration|[JobConfiguration](#jobconfiguration)|ジョブの構成についての説明|
|getJobReference|[JobReference](#jobreference)|ジョブのリファレンス|
|getStatistics|[JobStatistics](#jobstatistics)|ジョブに関する情報|
|getStatus|[JobStatus](#jobstatus)|ジョブのステータス|
|getPrincipalSubject|String|要求側ID|

#### JobReference
|メソッド|戻り値|説明|
|---|---|---|
|getProjectId|String|プロジェクトID|
|getJobId|String|ジョブID|
|getLocation|String|ロケーション|

#### JobConfiguration
|メソッド|戻り値|説明|
|---|---|---|
|getJobType|String|ジョブの種類<br>"QUERY"、"LOAD"、"EXTRACT"、"COPY"、"UNKNOWN"|
|getQuery|[JobConfigurationQuery](#jobconfigurationquery)|クエリジョブの設定|
|getLoad|[JobConfigurationLoad](#jobconfigurationload)|ロードジョブの設定|
|getCopy|[JobConfigurationTableCopy](#jobconfigurationtablecopy)|テーブルのコピー|
|getExtract|[JobConfigurationExtract](#jobconfigurationextract)|抽出ジョブの構成|
|getDryRun|Boolean|ジョブを実際に実行するか|
|getJobTimeoutMs|Long|ジョブのタイムアウト(ミリ秒)|
|getLabels|Map\<String,String\>|ジョブに関連付けられたラベル|

#### JobConfigurationQuery
|メソッド|戻り値|説明|
|---|---|---|
|getQuery|String|実行するSQLクエリテキスト|
|getDestinationTable|[TableReference](#tablereference)|クエリ結果を保存するテーブルのプロパティ|
|getTableDefinitions|Map\<String,[ExternalDataConfiguration](#externaldataconfiguration)\>|クエリ可能な一時テーブルとして動作する外部テーブル定義|
|getUserDefinedFunctionResources|List\<[UserDefinedFunctionResource](#userdefinedfunctionresource)\>|クエリで使用されるユーザー定義関数リソースについての説明|
|getCreateDisposition|String|[ジョブが新しい​​テーブルを作成できるか](#create_disposition)|
|getWriteDisposition|String|[宛先テーブルがすでに存在する場合に実行されるアクション](#write_disposition)|
|getDefaultDataset|[DatasetReference](#datasetreference)|クエリ内の非修飾テーブル名に使用するデフォルトのデータセット|
|getPriority|String|クエリの優先度<br>"INTERACTIVE"、"BATCH"|
|getAllowLargeResults|Boolean|パフォーマンスをわずかに犠牲にして、任意の大きな結果テーブルを生成できるか|
|getUseQueryCache|Boolean|クエリキャッシュで結果を検索するか|
|getFlattenResults|Boolean|クエリ結果内のすべてのネストされた繰り返しフィールドをフラット化するか|
|getMaximumBytesBilled|Long|ジョブに対して請求される最大バイト数|
|getUseLegacySql|Boolean|BigQueryのレガシーSQL言語を使用するか|
|getParameterMode|String|パラメータモード(GoogleSQLのみ)|
|getQueryParameters|List\<[QueryParameter](#queryparameter)\>|jobs.queryパラメータ(GoogleSQLのみ)|
|getSchemaUpdateOptions|List\<String\>|[スキーマ更新オプション](#スキーマ更新オプション)|
|getRangePartitioning|[RangePartitioning](#rangepartitioning)|宛先テーブルの範囲パーティション化の仕様|
|getClustering|[Clustering](#clustering)|宛先テーブルのクラスタリング仕様|
|getDestinationEncryptionConfiguration|[EncryptionConfiguration](#encryptionconfiguration)|カスタム暗号化構成|
|getScriptOptions|[ScriptOptions](#scriptoptions)|スクリプトの実行を制御|
|getConnectionProperties|List\<[ConnectionProperty](#connectionproperty)\>|クエリの動作を変更できる接続プロパティ|
|getCreateSession|Boolean|ジョブはランダムに生成されたsessionIdを使用して新しいセッションを作成するか|
|getSystemVariables|[SystemVariables](#systemvariables)|クエリのシステム変数(GoogleSQLのみ)|

#### ConnectionProperty
|メソッド|戻り値|説明|
|---|---|---|
|getKey|String|プロパティのキー|
|getValue|String|プロパティの値|

#### EncryptionConfiguration
|メソッド|戻り値|説明|
|---|---|---|
|getKmsKeyName|String|CloudKMS暗号化キーの説明|

#### Clustering
|メソッド|戻り値|説明|
|---|---|---|
|getFields|List\<String\>|クラスタリングするフィールド|

#### RangePartitioning
|メソッド|戻り値|説明|
|---|---|---|
|getField|String|分割するフィールド|
|getRange|[RangePartitioning.Range](#rangepartitioningrange)|範囲分割の範囲情報|

#### RangePartitioning.Range
|メソッド|戻り値|説明|
|---|---|---|
|getStart|String|範囲分割の開始|
|getEnd|String|範囲分割の終了|
|getInterval|String|各間隔の幅|

#### DatasetReference
|メソッド|戻り値|説明|
|---|---|---|
|getDatasetId|String|データセットID|
|getProjectId|String|プロジェクトID|

#### UserDefinedFunctionResource
|メソッド|戻り値|説明|
|---|---|---|
|getResourceUri|String|リソースのURI|
|getInlineCode|String|ユーザー定義関数(UDF)のコードを含むインラインリソース|

#### TableReference
|メソッド|戻り値|説明|
|---|---|---|
|getProjectId|String|プロジェクトID|
|getDatasetId|String|データセットID|
|getTableId|String|テーブルID|

#### SystemVariables
|メソッド|戻り値|説明|
|---|---|---|
|getTypes|Map\<String,[StandardSqlDataType](#standardsqldatatype)\>|各システム変数のデータ型|
|getValues|Map\<String,Object\>|各システム変数の値|

#### StandardSqlDataType
|メソッド|戻り値|説明|
|---|---|---|
|getTypeKind|[TypeKind(enum)](#typekind)|トップレベルのタイプ|
|getArrayElementType|[StandardSqlDataType](#standardsqldatatype)|【getTypeKind()が"ARRAY"の場合】<br>配列の要素の型|
|getStructType|[StandardSqlStructType](#standardsqlstructtype)|【getTypeKind()が"STRUCT"の場合】<br>構造体のフィールド|

#### StandardSqlStructType
|メソッド|戻り値|説明|
|---|---|---|
|getFields|List\<[StandardSqlField](#standardsqlfield)\>|構造体のフィールド|

#### StandardSqlField
|メソッド|戻り値|説明|
|---|---|---|
|getName|String|名前|
|getType|[StandardSqlDataType](#standardsqldatatype)|パラメータのタイプ|

#### ScriptOptions
|メソッド|戻り値|説明|
|---|---|---|
|getStatementTimeoutMs|Long|スクリプト内の各ステートメントのタイムアウト期間|
|getStatementByteBudget|Long|制限するステートメントごとに請求されるバイト数|
|getKeyResultStatement|[KeyResultStatementKind(enum)](#keyresultstatementkind)|スクリプトジョブのスキーマとクエリ結果の入力に使用されるキー|

#### JobConfigurationLoad
|メソッド|戻り値|説明|
|---|---|---|
|getSourceUris|List\<String\>|GoogleCloud内のデータを指す完全修飾URI|
|getFileSetSpecType|[FileSetSpecType(enum)](#filesetspectype)|ソースURIを解釈する方法|
|getSchema|[⧉TableSchema](https://qiita.com/doran/items/57468203da657921fa2d#tableschema)|宛先テーブルのスキーマ|
|getDestinationTable|[TableReference](#tablereference)|データをロードする宛先テーブル|
|getDestinationTableProperties|[DestinationTableProperties](#destinationtableproperties)|新しい場合に宛先テーブルを作成するためのプロパティ|
|getCreateDisposition|String|[ジョブが新しい​​テーブルを作成できるか](#create_disposition)|
|getWriteDisposition|String|[宛先テーブルがすでに存在する場合に実行されるアクション](#write_disposition)|
|getNullMarker|String|CSVファイル内のnull値を表す文字列|
|getFieldDelimiter|String|CSVファイル内のフィールドの区切り文字|
|getSkipLeadingRows|Integer|データの読み込み時にスキップするCSVファイルの先頭の行数|
|getEncoding|String|データの文字エンコーディング|
|getQuote|String|CSVファイル内のデータセクションを引用するために使用される値|
|getMaxBadRecords|Integer|ジョブの実行時に無視できる不良レコードの最大数|
|getAllowQuotedNewlines|Boolean|CSVファイル内で改行文字を含む引用符で囲まれたデータセクションを許可するか|
|getSourceFormat|String|データファイルの形式<br>"CSV"(CSVファイル)、"DATASTORE_BACKUP"(指定データストアのバックアップ)、"NEWLINE_DELIMITED_JSON"(指定改行区切りのJSON)、"AVRO"(AVRO)、"PARQUET"(PARQUET)、"ORC"(ORC)|
|getAllowJaggedRows|Boolean|末尾のオプション列が欠落している行を受け入れるか|
|getIgnoreUnknownValues|Boolean|テーブルスキーマで表されていない追加の値を許可するか|
|getProjectionFields|List\<String\>|読み込むドキュメントフィールド|
|getAutodetect|Boolean|CSVおよびJSONソースのオプションとスキーマを自動的に推論するか|
|getSchemaUpdateOptions|List\<String\>|[スキーマ更新オプション](#スキーマ更新オプション)|
|getTimePartitioning|[TimePartitioning](#timepartitioning)|宛先テーブルの時間ベースのパーティショニング仕様|
|getRangePartitioning|[RangePartitioning](#rangepartitioning)|宛先テーブルの範囲パーティション化の仕様|
|getClustering|[Clustering](#clustering)|宛先テーブルのクラスタリング仕様|
|getDestinationEncryptionConfiguration|[EncryptionConfiguration](#encryptionconfiguration)|カスタム暗号化構成|
|getUseAvroLogicalTypes|Boolean|論理型を対応するBigQueryデータ型（TIMESTAMPなど）として解釈するか(sourceFormatが"AVRO"の場合のみ)|
|getReferenceFileSchemaUri|String|ユーザーは、リーダースキーマを含む参照ファイルURI|
|getHivePartitioningOptions|[HivePartitioningOptions](#hivepartitioningoptions)|ハイブのパーティショニング構成|
|getDecimalTargetTypes|List\<[DecimalTargetType(enum)](#decimaltargettype)\>|ソース10進値の変換先となる可能なSQLデータ型|
|getJsonExtension|[JsonExtension(enum)](#jsonextension)|JSONのバリアントがロードされていることを示す情報|
|getParquetOptions|[ParquetOptions](#parquetoptions)|追加のプロパティ(sourceFormatが"PARQUET"の場合のみ)|
|getPreserveAsciiControlCharacters|Boolean|埋め込まれたASCII制御文字が保持されるか(sourceFormatが"CSV"の場合のみ)|
|getCopyFilesOnly|Boolean|管理テーブルにファイルを直接コピーするようにロードジョブを構成するか|

#### TimePartitioning
|メソッド|戻り値|説明|
|---|---|---|
|getType|String|タイプ<br>"DAY"、"HOUR"、"MONTH"、"YEAR"|
|getExpirationMs|Long|パーティションのストレージを保持する時間(ミリ秒)|
|getField|String|パーティション化するフィールド|

#### DestinationTableProperties
|メソッド|戻り値|説明|
|---|---|---|
|getFriendlyName|String|宛先テーブルのフレンドリ名|
|getDescription|String|宛先テーブルの説明|
|getLabels|Map\<String,String\>|テーブルに関連付けられたラベル|

#### JobConfigurationTableCopy
|メソッド|戻り値|説明|
|---|---|---|
|getSourceTable|[TableReference](#tablereference)|コピーするソーステーブル|
|getSourceTables|List\<[TableReference](#tablereference)\>|コピーするソーステーブル|
|getDestinationTable|[TableReference](#tablereference)|宛先テーブル|
|getCreateDisposition|String|[ジョブが新しい​​テーブルを作成できるか](#create_disposition)|
|getWriteDisposition|String|[宛先テーブルがすでに存在する場合に実行されるアクション](#write_disposition)|
|getDestinationEncryptionConfiguration|[EncryptionConfiguration](#encryptionconfiguration)|カスタム暗号化構成|
|getOperationType|[OperationType(enum)](#operationtype)|テーブルコピージョブでサポートされている操作タイプ|
|getDestinationExpirationTime|String|宛先テーブルの有効期限が切れる時刻|

#### JobConfigurationExtract
|メソッド|戻り値|説明|
|---|---|---|
|getDestinationUris|List\<String\>|抽出されたテーブルが書き込まれる完全修飾(GoogleCloudStorage URIのリスト)|
|getPrintHeader|Boolean|結果にヘッダー行を出力するかどうか|
|getFieldDelimiter|String|エクスポートされたデータのフィールド間で使用する区切り文字(CSVのみ)|
|getDestinationFormat|String|エクスポートされたファイル形式|
|getCompression|String|エクスポートされたファイルに使用する圧縮タイプ<br>"DEFLATE"、"GZIP"、"NONE"、"SNAPPY"、"ZSTD"|
|getUseAvroLogicalTypes|Boolean|抽出するときに論理タイプを使用するかどうか(AVROのみ)|
|getModelExtractOptions|[ModelExtractOptions](#modelextractoptions)|モデル抽出オプション|
|getSourceTable|[TableReference](#tablereference)|エクスポートされるテーブルへの参照|
|getSourceModel|[ModelReference](#modelreference)|エクスポートされるモデルへの参照|

#### ModelReference
|メソッド|戻り値|説明|
|---|---|---|
|getProjectId|String|プロジェクトID|
|getDatasetId|String|データセットID|
|getModelId|String|モデルID|

#### ModelExtractOptions
|メソッド|戻り値|説明|
|---|---|---|
|getTrialId|Long|ハイパーパラメータ調整モデルからエクスポートされるトライアルID|

#### JobStatistics
|メソッド|戻り値|説明|
|---|---|---|
|getCreationTime|Long|ジョブの作成時間(ミリ秒)|
|getStartTime|Long|ジョブの開始時刻(ミリ秒)|
|getEndTime|Long|ジョブの終了時刻(ミリ秒)|
|getTotalBytesProcessed|Long|ジョブで処理された合計バイト数|
|getQuotaDeferments|List\<String\>|このジョブの開始時間を遅らせた割り当て|
|getQuery|[JobStatistics2](#jobstatistics2)|クエリジョブの統計|
|getLoad|[JobStatistics3](#jobstatistics3)|ロードジョブの統計|
|getExtract|[JobStatistics4](#jobstatistics4)|抽出ジョブの統計|
|getCopy|[JobStatistics5](#jobstatistics5)|コピージョブの統計|
|getTotalSlotMs|Long|ジョブのスロットミリ秒|
|getReservationId|String|ジョブに割り当てられたプライマリ予約の名前|
|getNumChildJobs|Long|実行された子ジョブの数|
|getParentJobId|String|親のジョブID|
|getScriptStatistics|[ScriptStatistics](#scriptstatistics)|スクリプト内でこのジョブのコンテキストに関する情報(子ジョブ)
|getRowLevelSecurityStatistics|[RowLevelSecurityStatistics](#rowlevelsecuritystatistics)|行レベルのセキュリティに関する統計|
|getDataMaskingStatistics|[DataMaskingStatistics](#datamaskingstatistics)|データマスキングのための統計|
|getTransactionInfo|[TransactionInfo](#transactioninfo)|ジョブが複数ステートメントのトランザクションの一部である場合の情報|
|getSessionInfo|[SessionInfo](#sessioninfo)|ジョブがセッションの一部である場合のセッションの情報|
|getFinalExecutionDurationMs|Long|ジョブの最後の実行の実行時間(ミリ秒)|

#### SessionInfo
|メソッド|戻り値|説明|
|---|---|---|
|getSessionId|String|セッションID|

#### JobStatistics2
|メソッド|戻り値|説明|
|---|---|---|
|getQueryPlan|List\<[ExplainQueryStage](#explainquerystage)\>|クエリ実行計画の説明|
|getEstimatedBytesProcessed|Long|ジョブで処理されたバイトの元の推定値|
|getTimeline|List\<[QueryTimelineSample](#querytimelinesample)\>|ジョブ実行タイムラインの説明|
|getTotalPartitionsProcessed|Long|ジョブで参照されるすべてのパーティションテーブルから処理されたパーティションの合計数|
|getTotalBytesProcessed|Long|ジョブで処理された合計バイト数|
|getTotalBytesProcessedAccuracy|String|推定値の精度<br>"UNKNOWN"(推定の精度が不明)、"PRECISE"(推定は正確)、"LOWER_BOUND"(見積もりはクエリのコストの下限)、"UPPER_BOUND"(見積もりはクエリにかかる費用の上限)|
|getTotalBytesBilled|Long|ジョブに対して請求される合計バイト数|
|getBillingTier|Integer|ジョブの請求レベル|
|getTotalSlotMs|Long|ジョブのスロットミリ秒|
|getCacheHit|Boolean|クエリ結果がクエリキャッシュからフェッチされたか|
|getReferencedTables|List\<[TableReference](#tablereference)\>|ジョブの参照テーブル|
|getReferencedRoutines|List\<[RoutineReference](#routinereference)\>|ジョブの参照ルーチン|
|getSchema|[⧉TableSchema](https://qiita.com/doran/items/57468203da657921fa2d#tableschema)|結果のスキーマ|
|getNumDmlAffectedRows|Long|DMLステートメントの影響を受ける行の数|
|getDmlStats|[DmlStats](#dmlstats)|DMLステートメントINSERT、UPDATE、DELETE、MERGE、またはTRUNCATEの詳細な統計|
|getUndeclaredQueryParameters|List\<[QueryParameter](#queryparameter)\>|ドライラン検証中に検出された、宣言されていないクエリパラメーター(GoogleSQLのみ)|
|getStatementType|String|クエリステートメントのタイプ|
|getDdlOperationPerformed|String|実行されたDDL操作|
|getDdlTargetTable|[TableReference](#tablereference)|DDLターゲットテーブル|
|getDdlDestinationTable|[TableReference](#tablereference)|名前変更後のテーブル|
|getDdlTargetRowAccessPolicy|[RowAccessPolicyReference](#rowaccesspolicyreference)|DDLターゲット行アクセスポリシー|
|getDdlAffectedRowAccessPolicyCount|Long|DDLステートメントによって影響を受ける行アクセスポリシーの数|
|getDdlTargetRoutine|[RoutineReference](#routinereference)|DDLターゲットルーチン|
|getDdlTargetDataset|[DatasetReference](#datasetreference)|DDLターゲットデータセット|
|getMlStatistics|[MlStatistics](#mlstatistics)|BigQueryMLトレーニングジョブの統計|
|getExportDataStatistics|[ExportDataStatistics](#exportdatastatistics)|EXPORT DATAステートメントの統計|
|getExternalServiceCosts|List\<[ExternalServiceCost](#externalservicecost)\>|BigQueryの内部コストと外部サービスのコストとしてのジョブコストの内訳|
|getBiEngineStatistics|[BiEngineStatistics](#bienginestatistics)|BIエンジン固有の統計|
|getLoadQueryStatistics|[LoadQueryStatistics](#loadquerystatistics)|LOADクエリの統計|
|getDclTargetTable|[TableReference](#tablereference)|DCLステートメントの参照テーブル|
|getDclTargetView|[TableReference](#tablereference)|DCLステートメントの参照ビュー|
|getDclTargetDataset|[DatasetReference](#datasetreference)|DCLステートメントの参照データセット|
|getSearchStatistics|[SearchStatistics](#searchstatistics)|検索クエリ固有の統計|
|getVectorSearchStatistics|[VectorSearchStatistics](#vectorsearchstatistics)|ベクトル検索クエリ固有の統計|
|getPerformanceInsights|[PerformanceInsights](#performanceinsights)|パフォーマンスに関する洞察|
|getQueryInfo|[QueryInfo](#queryinfo)|jobs.query QUERYジョブの最適化情報|
|getSparkStatistics|[SparkStatistics](#sparkstatistics)|Sparkプロシージャジョブの統計|
|getTransferredBytes|Long|クロスクラウドクエリで転送された合計バイト数|
|getMaterializedViewStatistics|[MaterializedViewStatistics](#materializedviewstatistics)|クエリジョブのマテリアライズドビューの統計|
|getMetadataCacheStatistics|[MetadataCacheStatistics](#metadatacachestatistics)|テーブルのメタデータキャッシュの使用状況の統計|

#### RowAccessPolicyReference
|メソッド|戻り値|説明|
|---|---|---|
|getProjectId|String|プロジェクトID|
|getDatasetId|String|データセットID|
|getTableId|String|テーブルID|
|getPolicyId|String|行アクセスポリシーID|

#### DmlStats
|メソッド|戻り値|説明|
|---|---|---|
|getInsertedRowCount|Long|挿入された行の数|
|getDeletedRowCount|Long|削除された行の数|
|getUpdatedRowCount|Long|更新された行の数|

#### RoutineReference
|メソッド|戻り値|説明|
|---|---|---|
|getProjectId|String|プロジェクトID|
|getDatasetId|String|データセットID|
|getRoutineId|String|ルーティンID|

#### ExplainQueryStage
|メソッド|戻り値|説明|
|---|---|---|
|getName|String|ステージ名|
|getId|Long|プラン内のステージID|
|getStartMs|Long|ステージ開始時間(ミリ秒)|
|getEndMs|Long|ステージ終了時刻(ミリ秒)|
|getInputStages|List\<Long\>|ステージへの入力であるステージID|
|getWaitRatioAvg|Double|平均シャードがスケジュールされるまでの待機に費やした相対時間|
|getWaitMsAvg|Long|スケジュールされるまでの平均シャードの待機時間(ミリ秒)|
|getWaitRatioMax|Double|最も遅いシャードがスケジュールされるまでの待機に費やした相対時間|
|getWaitMsMax|Long|最も遅いシャードがスケジュールされるまでの待機に費やした時間(ミリ秒)|
|getReadRatioAvg|Double|平均シャードが入力の読み取りに費やした相対時間|
|getReadMsAvg|Long|入力の読み取りに費やされた平均シャード時間(ミリ秒)|
|getReadRatioMax|Double|最も遅いシャードが入力の読み取りに費やした相対時間|
|getReadMsMax|Long|最も遅いシャードが入力の読み取りに費やした時間(ミリ秒)|
|getComputeRatioAvg|Double|平均シャードがCPUバウンドのタスクに費やした相対時間|
|getComputeMsAvg|Long|CPUバウンドのタスクに費やされた平均シャード時間(ミリ秒)|
|getComputeRatioMax|Double|最も遅いシャードがCPUバウンドのタスクに費やした相対時間|
|getComputeMsMax|Long|CPUバウンドのタスクに費やした最も遅いシャード時間(ミリ秒)|
|getWriteRatioAvg|Double|平均シャードが出力の書き込みに費やした相対時間|
|getWriteMsAvg|Long|出力の書き込みに費やされた平均シャード時間(ミリ秒)|
|getWriteRatioMax|Double|最も遅いシャードが出力の書き込みに費やした相対時間|
|getWriteMsMax|Long|最も遅いシャードが出力の書き込みに費やした時間(ミリ秒)|
|getShuffleOutputBytes|Long|シャッフルに書き込まれた合計バイト数|
|getShuffleOutputBytesSpilled|Long|シャッフルに書き込まれ、ディスクに流出したバイトの合計数|
|getRecordsRead|Long|ステージに読み取られたレコードの数|
|getRecordsWritten|Long|ステージによって書き込まれたレコードの数|
|getParallelInputs|Long|処理する並列入力セグメントの数|
|getCompletedParallelInputs|Long|完了した並列入力セグメントの数|
|getStatus|String|現在のステータス|
|getSteps|List\<[ExplainQueryStep](#explainquerystep)\>|tabledata.ステージ内の操作の依存関係順(ほぼ時系列)のリスト|
|getSlotMs|Long|ステージで使用されるスロット時間(ミリ秒)|
|getComputeMode|[ComputeMode(enum)](#computemode)|ステージのコンピューティングモード|

#### ExplainQueryStep
|メソッド|戻り値|説明|
|---|---|---|
|getKind|String|機械可読な操作タイプ|
|getSubsteps|List\<String\>|人間が読める手順の説明|

#### QueryTimelineSample
|メソッド|戻り値|説明|
|---|---|---|
|getElapsedMs|Long|クエリ実行の開始から経過した時間(ミリ秒)|
|getTotalSlotMs|Long|クエリによって消費された累積スロット時間(ミリ秒)|
|getPendingUnits|Long|クエリの残りの作業単位の合計|
|getCompletedUnits|Long|クエリによって完了した並列作業単位の合計|
|getActiveUnits|Long|アクティブなワーカーの合計数|
|getEstimatedRunnableUnits|Long|すぐにスケジュールできる作業単位|

#### MlStatistics
|メソッド|戻り値|説明|
|---|---|---|
|getMaxIterations|Long|'CREATE MODEL'クエリでmaxIterationsとして指定される反復の最大数|
|getIterationResults|List\<[⧉IterationResult](https://qiita.com/doran/items/5abe8a4677d939a69557#iterationresult)\>|完了したすべての反復の結果|
|getModelType|[ModelType(enum)](#modeltype)|トレーニングされているモデルのタイプ|
|getTrainingType|[TrainingType(enum)](#trainingtype)|ジョブのトレーニングの種類|
|getHparamTrials|List\<[HparamTuningTrial](#hparamtuningtrial)\>|TrialIdでソートされたハイパーパラメータ調整ジョブのトライアル|

#### HparamTuningTrial
|メソッド|戻り値|説明|
|---|---|---|
|getTrialId|Long|トライアルID|
|getStartTimeMs|Long|裁判の開始時刻|
|getEndTimeMs|Long|裁判の終了時刻|
|getHparams|[⧉TrainingOptions](https://qiita.com/doran/items/5abe8a4677d939a69557#trainingoptions)|トライアル用に選択されたハイパーパラメーター|
|getEvaluationMetrics|[⧉EvaluationMetrics](https://qiita.com/doran/items/5abe8a4677d939a69557#evaluationmetrics)|トライアルの評価指標の情報|
|getStatus|[TrialStatus(enum)](#trialstatus)|裁判の状況|
|getErrorMessage|String|FAILEDおよびINFEASIBLEトライアルのエラーメッセージ|
|getTrainingLoss|Double|トライアル終了時にトレーニングデータに基づいて計算された損失|
|getEvalLoss|Double|​トライアル終了時の評価データに基づいて計算された損失|
|getHparamTuningEvaluationMetrics|[⧉EvaluationMetrics](https://qiita.com/doran/items/5abe8a4677d939a69557#evaluationmetrics)|評価データに基づいて計算された情報|

#### ExportDataStatistics
|メソッド|戻り値|説明|
|---|---|---|
|getFileCount|Long|EXPORT DATAステートメントの場合のみ生成される宛先ファイルの数|
|getRowCount|Long|EXPORT DATAステートメントの場合のみ生成される宛先行の数|

#### ExternalServiceCost
|メソッド|戻り値|説明|
|---|---|---|
|getExternalService|String|外部サービス名|
|getBytesProcessed|Long|処理されたBigQueryバイト数に基づく外部サービスのコスト|
|getBytesBilled|Long|請求されるBigQueryバイト単位の外部サービスコスト|
|getSlotMs|Long|bigqueryスロットのミリ秒単位の外部サービスコスト|
|getReservedSlotCount|Long|外部ジョブに使用される非プリエンプタブル予約スロット|

#### BiEngineStatistics
|メソッド|戻り値|説明|
|---|---|---|
|getBiEngineMode|[BiEngineMode(enum)](#bienginemode)|実行されたBIエンジンアクセラレーションのモード|
|getAccelerationMode|[BiEngineAccelerationMode(enum)](#biengineaccelerationmode)|実行されたBIエンジンアクセラレーションのモード|
|getBiEngineReasons|List\<[BiEngineReason](#bienginereason)\>|BI Engineが高速化できなかった説明的な理由|

#### BiEngineReason
|メソッド|戻り値|説明|
|---|---|---|
|getCode|[Code(enum)](#code)|部分的または無効なアクセラレーションの高レベルBIエンジンの理由|
|getMessage|String|部分的または無効化されたアクセラレーションに関する人間が判読できる自由形式の理由|

#### LoadQueryStatistics
|メソッド|戻り値|説明|
|---|---|---|
|getInputFiles|Long|LOADクエリ内のソースファイルの数|
|getInputFileBytes|Long|LOADクエリ内のソースデータのバイト数|
|getOutputRows|Long|LOADクエリでインポートされた行の数|
|getOutputBytes|Long|ロードされたデータのサイズ(バイト単位)|
|getBadRecords|Long|LOADクエリの処理中に発生した不良レコードの数|

#### SearchStatistics
|メソッド|戻り値|説明|
|---|---|---|
|getIndexUsageMode|[IndexUsageMode(enum)](#indexusagemode)|クエリのインデックス使用モード|

#### IndexUnusedReason
|メソッド|戻り値|説明|
|---|---|---|
|getCode|[Code(enum)](#code)|検索インデックスが使用されなかった場合のシナリオの高レベルの理由|
|getMessage|String|検索インデックスが使用されなかった場合の、人間が判読できる自由形式のシナリオの理由|
|getBaseTable|[TableReference](#tablereference)|検索インデックスが使用されなかった理由に関係するベーステーブル|
|getIndexName|String|使用可能な場合は、未使用の検索インデックスの名前|

#### VectorSearchStatistics
|メソッド|戻り値|説明|
|---|---|---|
|getIndexUsageMode|[IndexUsageMode(enum)](#indexusagemode)|クエリのインデックス使用モード|
|getIndexUnusedReasons|List\<[IndexUnusedReason](#indexunusedreason)\>|ベクトル検索クエリのすべてまたは一部でインデックスが使用されなかった理由|

#### PerformanceInsights
|メソッド|戻り値|説明|
|---|---|---|
|getAvgPreviousExecutionMs|Long|以前の実行の平均実行時間(ミリ秒)|
|getStagePerformanceStandaloneInsights|List\<[StagePerformanceStandaloneInsight](#stageperformancestandaloneinsight)\>|スタンドアロンのクエリステージのパフォーマンスに関する洞|
|getStagePerformanceChangeInsights|List\<[StagePerformanceChangeInsight](#stageperformancechangeinsight)\>|jobs.queryステージのパフォーマンスの洞察を以前の実行と比較して、パフォーマンスの低下を診断|

#### StagePerformanceStandaloneInsight
|メソッド|戻り値|説明|
|---|---|---|
|getStageId|Long|インサイトがマッピングされたステージID|
|getBiEngineReasons|List\<[BiEngineReason](#bienginereason)\>|BIエンジンの実行の失格となる理由|
|getHighCardinalityJoins|List\<[HighCardinalityJoin](#highcardinalityjoin)\>|高いカーディナリティのステージ|
|getSlotContention|Boolean|ステージにスロット競合の問題があるか|
|getInsufficientShuffleQuota|Boolean|ステージのシャッフルクォータが不十分か|

#### HighCardinalityJoin
|メソッド|戻り値|説明|
|---|---|---|
|getLeftRows|Long|左側の入力行の数|
|getRightRows|Long|右側の入力行の数|
|getOutputRows|Long|出力行の数|
|getStepIndex|Integer|ExplainQueryStepリスト内の結合演算子のインデックス|

#### StagePerformanceChangeInsight
|メソッド|戻り値|説明|
|---|---|---|
|getStageId|Long|インサイトがマッピングされたステージID|
|getInputDataChange|[InputDataChange](#inputdatachange)|クエリ段階の入力データ変更の洞察|

#### InputDataChange
|メソッド|戻り値|説明|
|---|---|---|
|getRecordsReadDiffPercentage|Double|前回の実行と比較した読み取りの差のパーセンテージ|

#### QueryInfo
|メソッド|戻り値|説明|
|---|---|---|
|getOptimizationDetails|Map\<String,Object\>|クエリの最適化に関する情報|

#### SparkStatistics
|メソッド|戻り値|説明|
|---|---|---|
|getEndpoints|Map\<String,String\>|Dataprocから返されたエンドポイント|
|getSparkJobId|String|Sparkジョブが正常に作成された場合のSparkジョブID|
|getSparkJobLocation|String|Sparkジョブが実行される場所|
|getLoggingInfo|[SparkLoggingInfo](#sparklogginginfo)|ロギング情報|
|getKmsKeyName|String|Sparkジョブによって作成されたリソースを保護するために使用されるCloud KMS暗号化キー|

#### SparkLoggingInfo
|メソッド|戻り値|説明|
|---|---|---|
|getResourceType|String|ロギングに使用されるリソースのタイプ|
|getProjectId|String|Sparkログが書き込まれたプロジェクトID|

#### MaterializedViewStatistics
|メソッド|戻り値|説明|
|---|---|---|
|getMaterializedView|List\<[MaterializedView](#materializedview)\>|クエリジョブで考慮されるマテリアライズドビュー|

#### MaterializedView
|メソッド|戻り値|説明|
|---|---|---|
|getTableReference|[TableReference](#tablereference)|候補となるマテリアライズドビュー|
|getChosen|Boolean|マテリアライズドビューがクエリに選択されるか|
|getEstimatedBytesSaved|Long|ベーステーブルではなくマテリアライズドビューを使用して節約されるバイトのベストエフォート推定|
|getRejectedReason|[RejectedReason(enum)](#rejectedreason)|マテリアライズドビューがクエリに選択されなかった理由|

#### MetadataCacheStatistics
|メソッド|戻り値|説明|
|---|---|---|
|getTableMetadataCacheUsage|List\<[TableMetadataCacheUsage](#tablemetadatacacheusage)\>|クエリで参照されるメタデータキャッシュ対象テーブル|

#### TableMetadataCacheUsage
|メソッド|戻り値|説明|
|---|---|---|
|getTableReference|[TableReference](#tablereference)|クエリで参照されるメタデータキャッシュ対象テーブル|
|getUnusedReason|[UnusedReason(enum)](#unusedreason)|テーブルにメタデータキャッシュを使用しない理由|
|getExplanation|String|人間が判読できる自由形式のメタデータキャッシュがジョブで使用されなかった理由|

#### JobStatistics3
|メソッド|戻り値|説明|
|---|---|---|
|getInputFiles|Long|ロードジョブ内のソースファイルの数|
|getInputFileBytes|Long|ロードジョブ内のソースデータのバイト数|
|getOutputRows|Long|ロードジョブでインポートされた行の数|
|getOutputBytes|Long|ロードされたデータのサイズ(バイト単位)|
|getBadRecords|Long|検出された不良レコードの数|
|getTimeline|List\<[QueryTimelineSample](#querytimelinesample)\>|ジョブ実行のタイムラインの説明|

#### JobStatistics4
|メソッド|戻り値|説明|
|---|---|---|
|getDestinationUriFileCounts|List\<Long\>|抽出構成で指定された宛先URIまたはURIパターンごとのファイルの数|
|getInputBytes|Long|結果に抽出されたユーザーバイトの数|
|getTimeline|List\<[QueryTimelineSample](#querytimelinesample)\>|ジョブ実行のタイムラインの説明|

#### JobStatistics5
|メソッド|戻り値|説明|
|---|---|---|
|getCopiedRows|Long|宛先テーブルにコピーされた行の数|
|getCopiedLogicalBytes|Long|宛先テーブルにコピーされた論理バイト数|

#### ScriptStatistics
|メソッド|戻り値|説明|
|---|---|---|
|getEvaluationKind|[EvaluationKind(enum)](#evaluationkind)|子ジョブがステートメントであるか式であるかの情報|
|getStackFrames|List\<[ScriptStackFrame](#scriptstackframe)\>|現在の評価が行われた時点でのスタック上の各フレームの行/列/プロシージャ名を示すスタックトレース|

#### ScriptStackFrame
|メソッド|戻り値|説明|
|---|---|---|
|getStartLine|Integer|スタートライン(1〜)|
|getStartColumn|Integer|開始列(1〜)|
|getEndLine|Integer|終了行(1〜)|
|getEndColumn|Integer|終了列(1〜)|
|getProcedureId|String|アクティブなプロシージャの名前|
|getText|String|現在のステートメント/式のテキスト|

#### RowLevelSecurityStatistics
|メソッド|戻り値|説明|
|---|---|---|
|getRowLevelSecurityApplied|Boolean|アクセスされたデータが行アクセスポリシーによって保護されているか|

#### DataMaskingStatistics
|メソッド|戻り値|説明|
|---|---|---|
|getDataMaskingApplied|Boolean|アクセスされたデータがデータマスキングによって保護されているか|

#### TransactionInfo
|メソッド|戻り値|説明|
|---|---|---|
|getTransactionId|String|トランザクションID|

#### JobStatus
|メソッド|戻り値|説明|
|---|---|---|
|getErrorResult|[ErrorProto](#errorproto)|ジョブの最終エラー結果|
|getErrors|List\<[ErrorProto](#errorproto)\>|ジョブの実行中に発生した最初のエラー|
|getState|String|ジョブの実行状態<br>"PENDING"、"RUNNING"、"DONE"|

#### ErrorProto
|メソッド|戻り値|説明|
|---|---|---|
|getReason|String|エラーコード|
|getLocation|String|エラーが発生した場所|
|getDebugInfo|String|デバッグ情報|
|getMessage|String|エラーの説明|

#### ExternalDataConfiguration
|メソッド|戻り値|説明|
|---|---|---|
|getSourceUris|List\<String\>|GoogleCloud内のデータを指す完全修飾URI|
|getFileSetSpecType|[FileSetSpecType(enum)](#filesetspectype)|ロードするファイルセットを構築するためにソースURIを解釈する情報|
|getSchema|[⧉TableSchema](https://qiita.com/doran/items/57468203da657921fa2d#tableschema)|データのスキーマ|
|getSourceFormat|String|データ形式|
|getMaxBadRecords|Integer|データの読み取り時にBigQueryが無視できる不良レコードの最大数|
|getAutodetect|Boolean|スキーマとフォーマットのオプションを自動的に検出するか|
|getIgnoreUnknownValues|Boolean|BigQuery がテーブル スキーマで表されていない追加の値を許可するか|
|getCompression|String|データソースの圧縮タイプ|
|getCsvOptions|[CsvOptions](#csvoptions)|sourceFormatがCSVに設定されている場合に設定する追加のプロパティ|
|getJsonOptions|[JsonOptions](#jsonoptions)|sourceFormatがJSONに設定されている場合に設定する追加のプロパティ|
|getBigtableOptions|[BigtableOptions](#bigtableoptions)|sourceFormatがBIGTABLEに設定されている場合の追加オプション|
|getGoogleSheetsOptions|[GoogleSheetsOptions](#googlesheetsoptions)|sourceFormatがGOOGLE_SHEETSに設定されている場合の追加オプション|
|getHivePartitioningOptions|[HivePartitioningOptions](#hivepartitioningoptions)|ハイブのパーティショニングのサポート構成|
|getConnectionId|String|Azure Blob、Cloud Storage、S3 などの外部ストレージの読み取りに使用される資格情報|
|getDecimalTargetTypes|List\<[DecimalTargetType(enum)](#decimaltargettype)\>|SQLデータ型のリスト|
|getAvroOptions|[AvroOptions](#avrooptions)|sourceFormatがAVROに設定されている場合に設定する追加のプロパティ|
|getJsonExtension|[JsonExtension(enum)](#jsonextension)|JSONのバリアントがロードされているかを示す|
|getParquetOptions|[ParquetOptions](#parquetoptions)|sourceFormatがPARQUETに設定されている場合に設定する追加のプロパティ|
|getReferenceFileSchemaUri|String|テーブルスキーマを含む参照ファイル|
|getMetadataCacheMode|[MetadataCacheMode(enum)](#metadatacachemode)|テーブルのメタデータキャッシュモード|
|getObjectMetadata|[ObjectMetadata(enum)](#objectmetadata)|メタデータの種類|

#### CsvOptions
|メソッド|戻り値|説明|
|---|---|---|
|getFieldDelimiter|String|CSVファイル内のフィールドの区切り文字|
|getSkipLeadingRows|Long|スキップするCSVファイルの先頭の行数|
|getQuote|String|CSVファイル内のデータセクションを引用するために使用される値|
|getAllowQuotedNewlines|Boolean|CSVファイル内で改行文字を含む引用符で囲まれたデータセクションを許可するか|
|getAllowJaggedRows|Boolean|末尾のオプション列が欠落している行を受け入れるか|
|getEncoding|String|データの文字エンコーディング<br>"UTF-8"、"ISO-8859-1"、"UTF-16BE"、"UTF-16LE"、"UTF-32BE"、"UTF-32LE"|
|getPreserveAsciiControlCharacters|Boolean|埋め込みASCII制御文字が保持されるか|
|getNullMarker|String|CSVファイル内のnull値を表す文字列|

#### JsonOptions
|メソッド|戻り値|説明|
|---|---|---|
|getEncoding|String|データの文字エンコーディング<br>"UTF-8"、"UTF-16BE"、"UTF-16LE"、"UTF-32BE"、"UTF-32LE"|

#### BigtableOptions
|メソッド|戻り値|説明|
|---|---|---|
|getColumnFamilies|List\<[BigtableColumnFamily](#bigtablecolumnfamily)\>|列ファミリーのリスト|
|getIgnoreUnspecifiedColumnFamilies|Boolean|列ファミリーはテーブルスキーマで公開しないか|
|getReadRowkeyAsString|Boolean|行キー列ファミリーを文字列に変換するか|
|getOutputColumnFamiliesAsJson|Boolean|各列ファミリーは単一のJSON列として読み取るか|

#### BigtableColumnFamily
|メソッド|戻り値|説明|
|---|---|---|
|getFamilyId|String|列ファミリーの識別子|
|getType|String|セルの値を変換する型<br>"BYTES"、"STRING"、"INTEGER"、"FLOAT"、"BOOLEAN"、"JSON"|
|getEncoding|String|エンコードの種類<br>"TEXT"(テキスト文字列)、"BINARY"(バイナリ)|
|getColumns|List\<[BigtableColumn](#bigtablecolumn)\>|列フィールド|
|getOnlyReadLatest|Boolean|この列の値の最新バージョンのみを公開するか|

#### BigtableColumn
|メソッド|戻り値|説明|
|---|---|---|
|getQualifierEncoded|String|列の修飾子|
|getQualifierString|String|修飾子の文字列|
|getFieldName|String|列フィールド名|
|getType|String|セルの値を変換する型<br>"BYTES"、"STRING"、"INTEGER"、"FLOAT"、"BOOLEAN"、"JSON"|
|getEncoding|String|エンコードの種類<br>"TEXT"(テキスト文字列)、"BINARY"(バイナリ)|
|getOnlyReadLatest|Boolean|この列の値の最新バージョンのみを公開するか|

#### GoogleSheetsOptions
|メソッド|戻り値|説明|
|---|---|---|
|getSkipLeadingRows|Long|読み取り時にスキップするシート上部の行数|
|getRange|String|クエリの対象となるシートの範囲|

#### HivePartitioningOptions
|メソッド|戻り値|説明|
|---|---|---|
|getMode|String|データの読み取り時に使用する[ハイブパーティショニングのモード](#ハイブパーティショニングのモード)|
|getSourceUriPrefix|String|ソースURIのプレフィックス(接頭語)|
|getRequirePartitionFilter|Boolean|パーティションの削除に使用できるパーティションフィルターを指定するか|
|getFields|List\<String\>|ハイブパーティションキー|

#### AvroOptions
|メソッド|戻り値|説明|
|---|---|---|
|getUseAvroLogicalTypes|Boolean|論理型を対応するBigQueryデータ型として解釈するか|

#### ParquetOptions
|メソッド|戻り値|説明|
|---|---|---|
|getEnumAsString|Boolean|デフォルトでParquetENUM論理型をBYTESではなくSTRINGとして推論するか|
|getEnableListInference|Boolean|ParquetLIST論理型に対してスキーマ推論を使用するか|

#### QueryParameter
|メソッド|戻り値|説明|
|---|---|---|
|getName|String|パラメータ名|
|getParameterType|[QueryParameterType](#queryparametertype)|パラメータのタイプ|
|getParameterValue|[QueryParameterValue](#queryparametervalue)|パラメータの値|

#### QueryParameterType
|メソッド|戻り値|説明|
|---|---|---|
|getType|String|トップレベルのタイプ|
|getArrayType|[QueryParameterType](#queryparametertype)|配列の要素の型|
|getStructTypes|List\<[QueryParameterType.StructTypes](#queryparametertypestructtypes)\>|構造体のフィールドの型|
|getRangeElementType|[QueryParameterType](#queryparametertype)|範囲の要素タイプ|

#### QueryParameterType.StructTypes
|メソッド|戻り値|説明|
|---|---|---|
|getName|String|フィールドの名前|
|getType|[QueryParameterType](#queryparametertype)|フィールドのタイプ|
|getDescription|String|フィールドの説明|

#### QueryParameterValue
|メソッド|戻り値|説明|
|---|---|---|
|getValue|String|値|
|getArrayValues|List\<[QueryParameterValue](#queryparametervalue)\>|配列値|
|getStructValues|Map\<String,[QueryParameterValue](#queryparametervalue)\>|構造体のフィールド値|
|getRangeValue|[RangeValue](#rangevalue)|範囲の​​値|

#### RangeValue
|メソッド|戻り値|説明|
|---|---|---|
|getStart|[QueryParameterValue](#queryparametervalue)|範囲の開始値|
|getEnd|[QueryParameterValue](#queryparametervalue)|範囲の終了値|

#### KeyResultStatementKind
|定義値|内容|
|---|---|
|KEY_RESULT_STATEMENT_KIND_UNSPECIFIED|デフォルト値|
|LAST|最後の結果が重要な結果を決定|
|FIRST_SELECT|最初のSELECTステートメントによってキーの結果|

#### OperationType
|定義値|内容|
|---|---|
|OPERATION_TYPE_UNSPECIFIED|未指定|
|COPY|ソーステーブルと宛先テーブルのテーブルタイプは同じ|
|SNAPSHOT|ソーステーブルのタイプはTABLEで、宛先テーブルのタイプはSNAPSHOT|
|RESTORE|ソーステーブルタイプはSNAPSHOTで、宛先テーブルタイプはTABLE|
|CLONE|ソーステーブルと宛先テーブルのテーブルタイプは同じ、一意のデータに対してのみ課金される|

#### ComputeMode
|定義値|内容|
|---|---|
|COMPUTE_MODE_UNSPECIFIED	ComputeMode|未指定|
|BIGQUERY|BigQueryスロットを使用して処理|
|BI_ENGINE|BIEngineコンピューティングを使用して処理|

#### TrainingType
|定義値|内容|
|---|---|
|TRAINING_TYPE_UNSPECIFIED|未指定|
|SINGLE_TRAINING|固定パラメーター空間による単一トレーニング|
|HPARAM_TUNING|ハイパーパラメータ調整トレーニング|

#### BiEngineMode
|定義値|内容|
|---|---|
|ACCELERATION_MODE_UNSPECIFIED|未指定|
|DISABLED|BIエンジンはアクセラレーションを無効にした|
|PARTIAL|クエリの一部はBIEngineを使用して高速化|
|FULL|すべてのクエリはBIEngineを使用して高速化|

#### BiEngineAccelerationMode
|定義値|内容|
|---|---|
|BI_ENGINE_ACCELERATION_MODE_UNSPECIFIED|未指定|
|BI_ENGINE_DISABLED|BIエンジンのアクセラレーションが試行されましたが、無効になった|
|PARTIAL_INPUT|一部の入力はBIEngineを使用して高速化された|
|FULL_INPUT|すべてのクエリ入力は、BIエンジンを使用して高速化された|
|FULL_QUERY|すべてのクエリはBIEngineを使用して高速化された|

#### Code
|定義値|内容|
|---|---|
|CODE_UNSPECIFIED|未指定|
|NO_RESERVATION|BIEngineアクセラレーションの予約はできない|
|INSUFFICIENT_RESERVATION|BIエンジンの高速化に使用できるメモリが不足|
|UNSUPPORTED_SQL_TEXT|この特定のSQLテキストは、BIエンジンによるアクセラレーションではサポートされていない|
|INPUT_TOO_LARGE|BIエンジンによる加速に対して入力が大きすぎる|
|OTHER_REASON|部分的または無効なアクセラレーションに関するその他すべてのケースのキャッチオールコード|
|TABLE_EXCLUDED|1つ以上のテーブルがBIエンジンアクセラレーションの対象にならない|

#### IndexUsageMode
|定義値|内容|
|---|---|
|INDEX_USAGE_MODE_UNSPECIFIED|未指定|
|UNUSED|検索クエリでは検索インデックスが使用されない|
|PARTIALLY_USED|検索クエリの一部で検索インデックスが使用されない|
|FULLY_USED|検索クエリ全体で検索インデックスが使用されない|

#### Code
|定義値|内容|
|---|---|
|CODE_UNSPECIFIED|未指定|
|INDEX_CONFIG_NOT_AVAILABLE|検索インデックス構成が作成されていない|
|PENDING_INDEX_CREATION|検索インデックスの作成が完了していない|
|BASE_TABLE_TRUNCATED|検索インデックスが最後に更新されてから、ベーステーブルが切り捨てられた|
|INDEX_CONFIG_MODIFIED|検索インデックスが最後に更新されてから、検索インデックスの構成が変更された|
|TIME_TRAVEL_QUERY|検索クエリが、検索インデックスが最後に更新される前のタイムスタンプでデータにアクセスする|
|NO_PRUNING_POWER|たとえば、検索述語が他の非検索述語と分離している場合など、検索インデックスの使用が検索機能の枝刈りの改善に寄与しない|
|UNINDEXED_SEARCH_FIELDS|検索インデックスが検索関数のすべてのフィールドをカバーしていない|
|UNSUPPORTED_SEARCH_PATTERN|検索インデックスが指定された検索クエリパターンをサポートしていない|
|OPTIMIZED_WITH_MATERIALIZED_VIEW|マテリアライズドビューを使用してクエリが最適化されている|
|SECURED_BY_DATA_MASKING|クエリがデータマスキングによって保護されているため、検索インデックスが適用できない|
|MISMATCHED_TEXT_ANALYZER|検索インデックスと検索関数呼び出しに同じテキストアナライザーがない|
|BASE_TABLE_TOO_SMALL|ベーステーブルが小さすぎる(特定のしきい値未満)|
|BASE_TABLE_TOO_LARGE|組織内のインデックス付きベーステーブルの合計サイズがリージョンの制限を超えており、インデックスがクエリで使用されていない|
|ESTIMATED_PERFORMANCE_GAIN_TOO_LOW|検索インデックスを使用した場合の推定パフォーマンス向上が、指定された検索クエリに対して低すぎる|
|INDEX_SUPPRESSED_BY_FUNCTION_OPTION|インデックスを利用できない検索機能のオプションが選択されている|
|QUERY_CACHE_HIT|クエリがキャッシュされたため、検索インデックスが使用されなかった|
|INTERNAL_ERROR|検索インデックスが使用されない原因となる内部エラー|
|OTHER_REASON|クエリで検索インデックスを使用できない理由が、他のIndexUnusedReasonオプションのいずれにも当てはまらない|

#### IndexUsageMode
|定義値|内容|
|---|---|
|INDEX_USAGE_MODE_UNSPECIFIED|未指定|
|UNUSED|ベクトル検索クエリではベクトルインデックスは使用されない|
|PARTIALLY_USED|ベクトル検索クエリの一部でベクトルインデックスが使用されない|
|FULLY_USED|ベクトル検索クエリ全体でベクトルインデックスが使用されない|

#### RejectedReason
|定義値|内容|
|---|---|
|REJECTED_REASON_UNSPECIFIED|未指定|
|NO_DATA|ビューはまだ更新されていないため、キャッシュされたデータがない|
|COST|ビューの推定コストは、別のビューまたはベーステーブルよりも高い|
|BASE_TABLE_TRUNCATED|ベーステーブルが切り捨てられているため、ビューにはキャッシュされたデータがない|
|BASE_TABLE_DATA_CHANGE|1つ以上の実表のデータ変更により、ビューが無効になった|
|BASE_TABLE_PARTITION_EXPIRATION_CHANGE|ベーステーブルのパーティションの有効期限が変更されたため、ビューは無効になった|
|BASE_TABLE_EXPIRED_PARTITION|ベーステーブルのパーティションの有効期限が切れたため、ビューは無効になった|
|BASE_TABLE_INCOMPATIBLE_METADATA_CHANGE|ベーステーブルに互換性のないメタデータ変更があるため、ビューは無効になった|
|TIME_ZONE|現在のジョブのタイムゾーン以外のタイムゾーンで更新されたため、ビューは無効になった|
|OUT_OF_TIME_TRAVEL_WINDOW|タイムトラベル外にある|
|BASE_TABLE_FINE_GRAINED_SECURITY_POLICY|ベーステーブルの1つにきめ細かいセキュリティポリシーが設定されているため、ユーザーはビューにアクセスできない|
|BASE_TABLE_TOO_STALE|ビューのベーステーブルの1つが古すぎる|

#### UnusedReason
|定義値|内容|
|---|---|
|UNUSED_REASON_UNSPECIFIED|未指定|
|EXCEEDED_MAX_STALENESS|メタデータキャッシュがテーブルのmaxStalenessの範囲外|
|OTHER_REASON|その他の不明な理由|

#### EvaluationKind
|定義値|内容|
|---|---|
|EVALUATION_KIND_UNSPECIFIED|デフォルト値|
|STATEMENT|このステートメントはスクリプト内に直接表示|
|EXPRESSION|このステートメントは、スクリプト内に出現する式を評価|

#### create_disposition
|定義値|内容|
|---|---|
|CREATE_IF_NEEDED|テーブルが存在しない場合、BigQueryはテーブルを作成|
|CREATE_NEVER|テーブルはすでに存在している必要がある|

#### write_disposition
|定義値|内容|
|---|---|
|WRITE_TRUNCATE|テーブルがすでに存在する場合、BigQueryはデータを上書きし、制約を削除し、クエリ結果のスキーマを使用|
|WRITE_APPEND|テーブルがすでに存在する場合、BigQueryはデータをテーブルに追加|
|WRITE_EMPTY|テーブルがすでに存在し、データが含まれている場合、ジョブの結果で「重複」エラー|

#### スキーマ更新オプション
|定義値|内容|
|---|---|
|ALLOW_FIELD_ADDITION|新しいフィールドの追加を許可|
|ALLOW_FIELD_RELAXATION|REQUIREDフィールドをNULLABLEに緩和することを許可|

#### ハイブパーティショニングのモード
|定義値|内容|
|---|---|
|AUTO|パーティションキーの名前とタイプを自動的に推測|
|STRINGS|パーティションキー名を自動的に推測|
|CUSTOM|パーティションキースキーマはソースURIプレフィックスでエンコードされる|

#### FileSetSpecType
|定義値|内容|
|---|---|
|FILE_SET_SPEC_TYPE_FILE_SYSTEM_MATCH|オブジェクトストアからファイルをリストすることによってソースURIを展開|
|FILE_SET_SPEC_TYPE_NEW_LINE_DELIMITED_MANIFEST|提供されるURIが改行で区切られたマニフェストファイルであり、1行に1つのURIを展開|

#### DecimalTargetType
|定義値|内容|
|---|---|
|DECIMAL_TARGET_TYPE_UNSPECIFIED|無効なタイプ|
|NUMERIC|10進数値はNUMERIC型に変換|
|BIGNUMERIC|10進数値はBIGNUMERIC型に変換|
|STRING|10進数値はSTRING型に変換|

#### JsonExtension
|定義値|内容|
|---|---|
|JSON_EXTENSION_UNSPECIFIED|ソース形式は何も変更せずに解析|
|GEOJSON|JSONのGeoJSONバリアントを使用|

#### MetadataCacheMode
|定義値|内容|
|---|---|
|METADATA_CACHE_MODE_UNSPECIFIED|未定義|
|AUTOMATIC|外部ソースからのメタデータキャッシュの自動バックグラウンド更新をトリガー|
|MANUAL|外部ソースからのメタデータキャッシュの手動更新をトリガー|

#### ObjectMetadata
|定義値|内容|
|---|---|
|OBJECT_METADATA_UNSPECIFIED|未定義|
|SIMPLE|オブジェクトのディレクトリリスト|

#### TypeKind
|定義値|内容|
|---|---|
|TYPE_KIND_UNSPECIFIED|無効なタイプ|
|STRING|文字列|
|BYTES|バイト(base64文字列としてエンコード)|
|INT64|8byte整数(10進数の文字列としてエンコード)|
|NUMERIC|16byte整数(10進数の文字列としてエンコード)|
|BIGNUMERIC|32byte整数(10進数の文字列としてエンコード)|
|BOOL|真偽値|
|FLOAT64|浮動小数点数(数値または文字列「NaN」、「Infinity」、「-Infinity」としてエンコード|
|TIMESTAMP|タイムスタンプ|
|DATE|日付|
|TIME|時間|
|DATETIME|日付時刻|
|GEOGRAPHY|地理空間データ(WKTとしてエンコード)|
|ARRAY|配列型(Type.array_typeと一致するタイプのリストとしてエンコード)|
|STRUCT|構造体型(Type.struct_type[i]型のフィールドを持つリストとしてエンコード)|
|JSON|JSON文字列(tabledata.listが使用)|

#### ModelType
|定義値|内容|
|---|---|
|MODEL_TYPE_UNSPECIFIED|デフォルト値|
|LINEAR_REGRESSION|線形回帰モデル|
|LOGISTIC_REGRESSION|ロジスティック回帰ベースの分類モデル|
|KMEANS|K平均法クラスタリングモデル|
|MATRIX_FACTORIZATION|行列分解モデル|
|DNN_CLASSIFIER|DNN分類子モデル|
|TENSORFLOW|インポートされたTensorFlowモデル|
|DNN_REGRESSOR|DNNリグレッサーモデル|
|XGBOOST|インポートされたXGBoostモデル|
|BOOSTED_TREE_REGRESSOR|ブーストされたツリーリグレッサーモデル|
|BOOSTED_TREE_CLASSIFIER|ブーストされたツリー分類子モデル|
|ARIMA|アリマモデル|
|AUTOML_REGRESSOR|AutoMLTables回帰モデル|
|AUTOML_CLASSIFIER|AutoMLTables分類モデル|
|PCA|主成分分析モデル|
|DNN_LINEAR_COMBINED_CLASSIFIER|広くて深い分類器モデル|
|DNN_LINEAR_COMBINED_REGRESSOR|広くて深い回帰モデル|
|AUTOENCODER|オートエンコーダーのモデル|
|ARIMA_PLUS|ARIMAモデルの新しい名前|
|ARIMA_PLUS_XREG|外部リグレッサーを使用したARIMA|
|RANDOM_FOREST_REGRESSOR|ランダムフォレスト回帰モデル|
|RANDOM_FOREST_CLASSIFIER|ランダムフォレスト分類子モデル|
|TENSORFLOW_LITE|インポートされたTensorFlowLiteモデル|
|ONNX|インポートされたONNXモデル|

### TrialStatus
|定義値|内容|
|---|---|
|TRIAL_STATUS_UNSPECIFIED|デフォルト値|
|NOT_STARTED|予定されていますが、開始されていない|
|RUNNING|走行状態|
|SUCCEEDED|裁判は成功した|
|FAILED|裁判は失敗した|
|INFEASIBLE|パラメータが無効なため、トライアルは実行できない|
|STOPPED_EARLY|有望ではないため、治験は早期に中止|

## 2. ジョブを取得
指定したジョブの情報を取得します。

### 2.1. スコープ
このAPIを実行するには、以下のいずれかのスコープを指定してください。
```
BigqueryScopes.BIGQUERY
BigqueryScopes.CLOUD_PLATFORM
BigqueryScopes.CLOUD_PLATFORM_READ_ONLY
https://www.googleapis.com/auth/bigquery.readonly
```
[⧉[BigQuery API(V2)] JavaでBigQueryを使う(3.2. BigQueryインスタンスを取得)](https://qiita.com/doran/items/8b7ba29672527426e88d#32-bigqueryインスタンスを取得)
でスコープを指定してください。

### 2.2. 実行
ジョブIDは、[JobのgetId()](#job)を指定します。

```java
public static void main(String[] args) throws Exception{
    Bigquery bigquery = getBigquery();
    Bigquery.Jobs jobs = bigquery.jobs();
    
    Bigquery.Jobs.Get get = jobs.get("プロジェクトID","ジョブID");
    
    Job res = get.execute();
    System.out.println(res);
}
```
#### 2.2.1. HTTPリクエスト
GET:　https:\//bigquery.googleapis.com/bigquery/v2/projects/{プロジェクトID}/jobs/{ジョブID}
が実行されます。

#### 2.2.2. クエリパラメータ
Bigquery.Jobs.Getのsetメソッドにより、クエリパラメータを追加できます。

|メソッド|引数|説明|
|---|---|---|
|setLocation|String|ジョブのロケーション|

### 2.3. レスポンスの内容
#### Job
[1.3. レスポンスの内容(Job)](#job)と同じです。

<br>
<br>
おしまい。。