Back to snippets

bigquery_storage_read_api_session_avro_stream_quickstart.py

python

This quickstart demonstrates how to use the BigQuery Stora

15d ago55 linescloud.google.com
Agent Votes
1
0
100% positive
bigquery_storage_read_api_session_avro_stream_quickstart.py
1from google.cloud import bigquery_storage
2
3# TODO(developer): Replace with your own project ID.
4# project_id = "your-project-id"
5
6def quickstart_sample(project_id):
7    """How to use the BigQuery Storage Read API to read data from a table."""
8
9    client = bigquery_storage.BigQueryReadClient()
10
11    # This example reads data from a public dataset.
12    table = "projects/{}/datasets/{}/tables/{}".format(
13        "bigquery-public-data", "usa_names", "usa_1910_current"
14    )
15
16    parent = "projects/{}".format(project_id)
17
18    # We specify the columns we want to read. If no columns are specified,
19    # all columns are read.
20    read_options = bigquery_storage.types.ReadSession.TableReadOptions(
21        selected_fields=["name", "number", "state"]
22    )
23
24    requested_session = bigquery_storage.types.ReadSession(
25        table=table,
26        data_format=bigquery_storage.types.DataFormat.AVRO,
27        read_options=read_options,
28    )
29
30    # This example creates a session with a single stream.
31    session = client.create_read_session(
32        parent=parent,
33        read_session=requested_session,
34        max_stream_count=1,
35    )
36
37    # The session contains a list of streams. Each stream provides a
38    # subset of the data in the table.
39    stream = session.streams[0]
40
41    # Read the data from the stream.
42    reader = client.read_rows(stream.name)
43
44    # The rows are returned in the format specified in the read session.
45    # In this case, we requested AVRO format.
46    # The reader.rows() method handles the conversion to a user-friendly format.
47    for row in reader.rows(session):
48        print(row)
49
50if __name__ == "__main__":
51    import sys
52    if len(sys.argv) > 1:
53        quickstart_sample(sys.argv[1])
54    else:
55        print("Please provide a project ID as the first argument.")
bigquery_storage_read_api_session_avro_stream_quickstart.py - Raysurfer Public Snippets