Database Reference
In-Depth Information
u'tableId':
u'anonde3fd1ade53226f48a842c7518bb9b0fe911e606'}
}
One interesting thing about the anonymous table is the dataset ID:
“_0e32b38e1117b2fcea992287c138bd53acfff7cc”
. This dataset
doesn't show up when you list your datasets, either via the API or in the web
UI. Datasets that start with an underscore are hidden; they can be listed only
if you pass the
all
flag to
Datasets.list()
. BigQuery creates hidden
datasets as needed to hold query results on a per-user-per-project basis. All
the queries you run in a particular project use the same dataset to hold your
query results; if different users run the same query, their results would go in
a different dataset. If you inspect the ACL of the hidden dataset created to
hold query results, you can see that it is restricted to a single user:
>>>
dataset = service.datasets().get(
…
projectId=destination_table['projectId']
,
…
datasetId=destination_table['datasetId']).execute()
>>>
pprint.pprint(dataset)
{u'access': [{u'role': u'OWNER', u'userByEmail':
u'jtigani@gmail.com'}],
u'creationTime': u'1374444606886',
u'datasetReference': {
u'datasetId':
u'_0e32b38e1117b2fcea992287c138bd53acfff7cc',
u'projectId': u'bigquery-e2e'},
u'etag': u'"Ny_MVtklP3Cn04wt1Sr9PinHZEI/
T9T-JJCytvKVcXb9FoswD2KVexo"',
u'id':
u'bigquery-e2e:_0e32b38e1117b2fcea992287c138bd53acfff7cc',
u'kind': u'bigquery#dataset',
u'lastModifiedTime': u'1374444606886',
u'selfLink': u'https://www.googleapis.com/bigquery/v2/
…"}
Anonymous tables have some special properties; they are immutable,
meaning you cannot append to them. (Although you can rewrite them, as
you see in the section on caching.) You also do not pay for their storage.