LoginSignup
0
0

[BigQuery API(V2)] JavaでBigQueryテーブルの行(レコード)を取得する

Posted at

BigQuery API V2(Java)を使用して、
BigQueryテーブルの行(レコード)を取得する方法
についてご紹介します。

レコードの情報を取得するには、
適切なIAM権限が付与されている必要があります。

権限付与に関しては
⧉[BigQuery API(V2)] JavaでBigQueryを使う(2.権限付与)
を参照ください。

APIを利用する環境の準備から始める場合や、コードを実行する際は、
⧉[BigQuery API(V2)] JavaでBigQueryを使う
を参照ください。

No 目次
1 レコードを取得
1 スコープ
2 実行
3 レスポンスの内容

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インスタンスを取得)
でスコープを指定してください。

1.2. 実行

public static void main(String[] args) throws Exception{
    Bigquery bigquery = getBigquery();
    Bigquery.Tabledata tabledata = bigquery.tabledata();
    
    Bigquery.Tabledata.List list = tabledata.list("プロジェクトID","データセットID","テーブルID");
    
    TableDataList res = list.execute();
    System.out.println(res);
}

1.2.1. HTTPリクエスト

GET: https://bigquery.googleapis.com/bigquery/v2/projects/{プロジェクトID}/datasets/{データセットID}/tables/{テーブルID}/data
が実行されます。

1.2.2. クエリパラメータ

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

メソッド 引数 説明
setMaxResults Integer 結果の最大数
setPageToken String 取得するページトークン
setStartIndex String 取得する開始行インデックス
setSelectedFields String 取得するフィールド
setFormatOptions DataFormatOptions 出力フォーマットの調整

DataFormatOptions

メソッド 引数 説明
setUseInt64Timestamp Boolean タイムスタンプをusec int64として出力するか

1.3. レスポンスの内容

TableDataList

メソッド 戻り値 説明
getKind String リソースの種類
固定文字列:"bigquery#tableDataList"
getEtag String ハッシュ値
getPageToken String 次のページトークン
getTotalRows Long テーブル全体の合計行数
getRows List<TableRow> 行情報

TableRow

メソッド 戻り値 説明
get("フィールド名") Object 指定したフィールド名のレコードの値を取得


おしまい。。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0