@@ -375,7 +375,7 @@ def process_insert_errors(self, insert_errors):
375
375
376
376
raise StreamingInsertError
377
377
378
- def run_query (self , query , udf_resource_uri = None ):
378
+ def run_query (self , query , ** kwargs ):
379
379
try :
380
380
from googleapiclient .errors import HttpError
381
381
except :
@@ -395,13 +395,9 @@ def run_query(self, query, udf_resource_uri=None):
395
395
}
396
396
}
397
397
}
398
-
399
- if udf_resource_uri is not None :
400
- if not isinstance (udf_resource_uri , list ):
401
- udf_resource_uri = [udf_resource_uri ]
402
-
403
- job_data ['configuration' ]['query' ]['userDefinedFunctionResources' ] = \
404
- [{'resourceUri' : uri } for uri in udf_resource_uri ]
398
+ query_config = kwargs .get ('query_config' )
399
+ if query_config is not None :
400
+ job_data ['configuration' ]['query' ].update (query_config )
405
401
406
402
407
403
self ._start_timer ()
@@ -629,8 +625,9 @@ def _parse_entry(field_value, field_type):
629
625
return field_value
630
626
631
627
632
- def read_gbq (query , project_id = None , index_col = None , col_order = None ,
633
- reauth = False , verbose = True , private_key = None , dialect = 'legacy' , udf_resource_uri = None ):
628
+ def read_gbq (query , project_id = None , index_col = None , col_order = None ,
629
+ reauth = False , verbose = True , private_key = None , dialect = 'legacy' ,
630
+ ** kwargs ):
634
631
"""Load data from Google BigQuery.
635
632
636
633
THIS IS AN EXPERIMENTAL LIBRARY
@@ -690,9 +687,10 @@ def read_gbq(query, project_id=None, index_col=None, col_order=None,
690
687
691
688
.. versionadded:: 0.19.0
692
689
693
- udf_resource_uri : list(str) or str (optional)
694
- A code resource to load from a Google Cloud Storage URI.
695
- Describes user-defined function resources used in the query.
690
+ **kwargs: Arbitrary keyword arguments
691
+ query_config (dict): query configuration parameters for job processing.
692
+ For more information see `BigQuery SQL Reference
693
+ <https://cloud.google.com/bigquery/docs/reference/rest/v2/jobs#configuration.query>`
696
694
697
695
.. versionadded:: 0.19.0
698
696
@@ -712,7 +710,7 @@ def read_gbq(query, project_id=None, index_col=None, col_order=None,
712
710
connector = GbqConnector (project_id , reauth = reauth , verbose = verbose ,
713
711
private_key = private_key ,
714
712
dialect = dialect )
715
- schema , pages = connector .run_query (query , udf_resource_uri )
713
+ schema , pages = connector .run_query (query , ** kwargs )
716
714
dataframe_list = []
717
715
while len (pages ) > 0 :
718
716
page = pages .pop ()
0 commit comments