Skip to content

Commit aeb81dc

Browse files
authored
bugfix: avoid workgroup scan (#460)
1 parent acaa253 commit aeb81dc

File tree

2 files changed

+11
-6
lines changed

2 files changed

+11
-6
lines changed

cid/common.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -526,7 +526,7 @@ def delete_dataset(self, name: str, id: str=None):
526526
continue
527527
datasources = dataset.datasources
528528
athena_datasource = self.qs.datasources.get(datasources[0])
529-
if athena_datasource:
529+
if athena_datasource and not get_parameters().get('athena-workgroup'):
530530
self.athena.WorkGroup = athena_datasource.AthenaParameters.get('WorkGroup')
531531
break
532532
logger.debug(f'Cannot find QuickSight DataSource {datasources[0]}. So cannot define Athena WorkGroup')
@@ -1109,10 +1109,12 @@ def create_or_update_dataset(self, dataset_definition: dict, dataset_id: str=Non
11091109
)
11101110
athena_datasource = self.qs.athena_datasources[datasource_id]
11111111
logger.info(f'Found {len(datasources)} Athena datasources, not using {athena_datasource.id}')
1112-
if isinstance(athena_datasource, Datasource) and athena_datasource.AthenaParameters.get('WorkGroup', None):
1113-
self.athena.WorkGroup = athena_datasource.AthenaParameters.get('WorkGroup')
1114-
else:
1115-
logger.debug('Athena_datasource is not defined. Will only create views')
1112+
if not get_parameters().get('athena-workgroup'):
1113+
# set default workgroup from datasource if not provided via parameters
1114+
if isinstance(athena_datasource, Datasource) and athena_datasource.AthenaParameters.get('WorkGroup', None):
1115+
self.athena.WorkGroup = athena_datasource.AthenaParameters.get('WorkGroup')
1116+
else:
1117+
logger.debug('Athena_datasource is not defined. Will only create views')
11161118

11171119
# Check for required views
11181120
_views = dataset_definition.get('dependsOn', {}).get('views', [])

cid/helpers/athena.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class Athena(CidBase):
1717
defaults = {
1818
'CatalogName': 'AwsDataCatalog',
1919
'DatabaseName': 'customer_cur_data',
20-
'WorkGroup': 'primary'
20+
'WorkGroup': 'CID'
2121
}
2222
_CatalogName = None
2323
_DatabaseName = None
@@ -115,6 +115,9 @@ def DatabaseName(self, database):
115115
def WorkGroup(self) -> str:
116116
""" Select AWS Athena workgroup """
117117
if not self._WorkGroup:
118+
if get_parameters().get('athena-workgroup'):
119+
self.WorkGroup = get_parameters().get('athena-workgroup')
120+
return self._WorkGroup
118121
logger.info('Selecting Athena workgroup...')
119122
workgroups = self.list_work_groups()
120123
logger.info(f'Found {len(workgroups)} workgroups: {", ".join([wg.get("Name") for wg in workgroups])}')

0 commit comments

Comments
 (0)