def __init__(self, project_id, project_names, cache_instance):
logger.info('<STR_LIT>',<EOL>'<STR_LIT:U+002CU+0020>'.join(project_names))<EOL>self.project_id = project_id<EOL>if project_id is None:<EOL><INDENT>self.project_id = self._get_project_id()<EOL><DEDENT>logger.debug('<STR_LIT>', self.project_id)<EOL>self.cache = cache_instance<EOL>self.projects = project_names<EOL>self.service = self._get_bigquery_service()<EOL>
Initialize the class to query BigQuery data for the specified projects.

:param project_id: the Project ID for the user you're authenticating as;
  if omitted will attempt to find this in the JSON file at the path
  specified by the ``GOOGLE_APPLICATION_CREDENTIALS`` environment
  variable.
:type project_id: str
:param project_names: list of string project names to query for
:type project_names: ``list``
:param cache_instance: DataCache instance
:type cache_instance: :py:class:`~.DiskDataCache`