Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ETL-138] Integrate JSON schemas #84

Merged
merged 20 commits into from
Jul 18, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
d003e6a
schema mapping to data type identifier intial commit
philerooski May 12, 2022
a06d07a
Update dataset mapping to use schema mapping data type identifiers
philerooski May 12, 2022
65a3919
Change the data resource identifiers to the JSON schema identifiers
philerooski May 17, 2022
0ec5e96
Make sure stackname_prefix is alphanumeric
philerooski May 17, 2022
6fabdda
Use new dataset mapping format in s3 to json job
philerooski Jun 29, 2022
8d1cf50
Update schema mapping file
philerooski Jun 29, 2022
642805d
Get rid of client info related code in S3 to JSON job
philerooski Jun 29, 2022
8cabdc7
change archive-map.json allOf references to anyOf
philerooski Jun 29, 2022
0d35c5d
improve getting json schema function, improved logging
philerooski Jul 1, 2022
e3a74aa
use 'main' branch of archive-map.json
philerooski Jul 1, 2022
9ad7f08
remove unnused datasets from glue resource files
philerooski Jul 1, 2022
8bdc139
Update lambda test events for test dataset version 2
philerooski Jul 1, 2022
c57789e
Update Pipfile.lock
philerooski Jul 7, 2022
5938483
Use crontab from namespaced artifacts
philerooski Jul 7, 2022
469bac3
Fix archive map version
philerooski Jul 11, 2022
eb6304d
Cast assessment revision to int for archive-map.json lookup
philerooski Jul 11, 2022
05529e7
Update lambda test events
philerooski Jul 12, 2022
2a2260e
Update crontab to reference new dataset identifiers
philerooski Jul 12, 2022
0dc0404
Refactor S3 to JSON job and add docstrings
philerooski Jul 14, 2022
a848ec0
Remove unnessecary sceptre user data from study pmbfzc
philerooski Jul 18, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
724 changes: 367 additions & 357 deletions Pipfile.lock

Large diffs are not rendered by default.

1 change: 0 additions & 1 deletion config/develop/namespaced/example-app-1-study-1.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ stack_tags:
{{ stack_group_config.default_stack_tags }}

sceptre_user_data:
dataset_version_mapping: !file src/glue/resources/dataset_mapping.json
dataset_crawler_assignments: !file src/glue/resources/dataset_crawler_assignments.yaml
# this needs to be replaced with real versioned schemas
dataset_schemas: !file src/glue/resources/table_columns.yaml
2 changes: 2 additions & 0 deletions config/develop/namespaced/glue-job-S3ToJsonS3.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,7 @@ parameters:
SynapseAuthSsmParameterName: {{ stack_group_config.synapseAuthSsmParameterName }}
AdditionalPythonModules: 'synapseclient'
DatasetMapping: s3://{{ stack_group_config.artifact_bucket_name }}/BridgeDownstream/{{ stack_group_config.namespace }}/glue/resources/dataset_mapping.json
SchemaMapping: s3://{{ stack_group_config.artifact_bucket_name }}/BridgeDownstream/{{ stack_group_config.namespace }}/glue/resources/schema_mapping.json
ArchiveMapVersion: v4.4.1
stack_tags:
{{ stack_group_config.default_stack_tags }}
2 changes: 1 addition & 1 deletion config/prod/ec2-bootstrap-trigger.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ template_path: ec2-bootstrap-trigger.yaml
stack_name: ec2-bootstrap-trigger
parameters:
SsmParameterName: synapse-bridgedownstream-auth
CrontabURI: s3://{{ stack_group_config.artifact_bucket_name }}/BridgeDownstream/{{ stack_group_config.latest_version }}/ec2/resources/crontab
CrontabURI: s3://{{ stack_group_config.artifact_bucket_name }}/BridgeDownstream/{{ stack_group_config.namespace }}/ec2/resources/crontab
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Noting here the passing of latest_version -- @philerooski & @thomasyu888 do we want to prioritize the discussion about our versioning system (and potential conflict with namespacing system), or just file a ticket and worry about it later?

Copy link
Member

@thomasyu888 thomasyu888 Jul 13, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My initial thought is let's file a ticket and worry about it later unless it will be a huge shift later on to resolve this. I don't necessarily want to block this from being pulled in.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree it definitely shouldn't block this PR from being merged

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes I'd like to sort out versioning. It's not urgent.

DockerImage: 611413694531.dkr.ecr.us-east-1.amazonaws.com/bootstrap_trigger
SubnetId: !stack_output_external vpc-mini::PrivateSubnet
SecurityGroupId: !stack_output_external vpc-mini::VpnSecurityGroup
2 changes: 2 additions & 0 deletions config/prod/glue-job-S3ToJsonS3.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,7 @@ parameters:
SynapseAuthSsmParameterName: {{ stack_group_config.synapseAuthSsmParameterName }}
AdditionalPythonModules: 'synapseclient'
DatasetMapping: s3://{{ stack_group_config.artifact_bucket_name }}/BridgeDownstream/{{ stack_group_config.namespace }}/glue/resources/dataset_mapping.json
SchemaMapping: s3://{{ stack_group_config.artifact_bucket_name }}/BridgeDownstream/{{ stack_group_config.namespace }}/glue/resources/schema_mapping.json
ArchiveMapVersion: v4.4.1
stack_tags:
{{ stack_group_config.default_stack_tags }}
1 change: 0 additions & 1 deletion config/prod/studies/mobile-toolbox-cxhnxd.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ stack_tags:
{{ stack_group_config.default_stack_tags }}

sceptre_user_data:
dataset_version_mapping: !file src/glue/resources/dataset_mapping.json
dataset_crawler_assignments: !file src/glue/resources/dataset_crawler_assignments.yaml
# this needs to be replaced with real versioned schemas
dataset_schemas: !file src/glue/resources/table_columns.yaml
1 change: 0 additions & 1 deletion config/prod/studies/mobile-toolbox-fmqcjv.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ stack_tags:
{{ stack_group_config.default_stack_tags }}

sceptre_user_data:
dataset_version_mapping: !file src/glue/resources/dataset_mapping.json
dataset_crawler_assignments: !file src/glue/resources/dataset_crawler_assignments.yaml
# this needs to be replaced with real versioned schemas
dataset_schemas: !file src/glue/resources/table_columns.yaml
1 change: 0 additions & 1 deletion config/prod/studies/mobile-toolbox-hktrrx.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ stack_tags:
{{ stack_group_config.default_stack_tags }}

sceptre_user_data:
dataset_version_mapping: !file src/glue/resources/dataset_mapping.json
dataset_crawler_assignments: !file src/glue/resources/dataset_crawler_assignments.yaml
# this needs to be replaced with real versioned schemas
dataset_schemas: !file src/glue/resources/table_columns.yaml
1 change: 0 additions & 1 deletion config/prod/studies/mobile-toolbox-htshxm.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ stack_tags:
{{ stack_group_config.default_stack_tags }}

sceptre_user_data:
dataset_version_mapping: !file src/glue/resources/dataset_mapping.json
dataset_crawler_assignments: !file src/glue/resources/dataset_crawler_assignments.yaml
# this needs to be replaced with real versioned schemas
dataset_schemas: !file src/glue/resources/table_columns.yaml
1 change: 0 additions & 1 deletion config/prod/studies/mobile-toolbox-pmbfzc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ stack_tags:
{{ stack_group_config.default_stack_tags }}

sceptre_user_data:
dataset_version_mapping: !file src/glue/resources/dataset_mapping.json
dataset_crawler_assignments: !file src/glue/resources/dataset_crawler_assignments.yaml
# this needs to be replaced with real versioned schemas
dataset_schemas: !file src/glue/resources/table_columns.yaml
10 changes: 5 additions & 5 deletions src/ec2/resources/crontab
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
55 * * * * aws ecr get-login-password | docker login --username AWS --password-stdin 611413694531.dkr.ecr.us-east-1.amazonaws.com/bootstrap_trigger:latest && docker pull 611413694531.dkr.ecr.us-east-1.amazonaws.com/bootstrap_trigger:latest
0 * * * * ec2-user docker run --rm 611413694531.dkr.ecr.us-east-1.amazonaws.com/bootstrap_trigger:latest python /root/BridgeDownstream/src/scripts/bootstrap_trigger/bootstrap_trigger.py --file-view syn29357512 --raw-folder-id syn29300097 --glue-workflow bridge-downstream-mobile-toolbox-cxhnxd-S3ToJsonWorkflow --ssm-parameter synapse-bridgedownstream-auth --diff-s3-uri 's3://bridge-downstream-parquet/bridge-downstream/mobile-toolbox/cxhnxd/parquet/dataset_metadata_v1/' --diff-parquet-field recordid --diff-file-view-field recordId
5 * * * * ec2-user docker run --rm 611413694531.dkr.ecr.us-east-1.amazonaws.com/bootstrap_trigger:latest python /root/BridgeDownstream/src/scripts/bootstrap_trigger/bootstrap_trigger.py --file-view syn29357540 --raw-folder-id syn29300165 --glue-workflow bridge-downstream-mobile-toolbox-htshxm-S3ToJsonWorkflow --ssm-parameter synapse-bridgedownstream-auth --diff-s3-uri 's3://bridge-downstream-parquet/bridge-downstream/mobile-toolbox/htshxm/parquet/dataset_metadata_v1/' --diff-parquet-field recordid --diff-file-view-field recordId
10 * * * * ec2-user docker run --rm 611413694531.dkr.ecr.us-east-1.amazonaws.com/bootstrap_trigger:latest python /root/BridgeDownstream/src/scripts/bootstrap_trigger/bootstrap_trigger.py --file-view syn29357582 --raw-folder-id syn29300178 --glue-workflow bridge-downstream-mobile-toolbox-fmqcjv-S3ToJsonWorkflow --ssm-parameter synapse-bridgedownstream-auth --diff-s3-uri 's3://bridge-downstream-parquet/bridge-downstream/mobile-toolbox/fmqcjv/parquet/dataset_metadata_v1/' --diff-parquet-field recordid --diff-file-view-field recordId
15 * * * * ec2-user docker run --rm 611413694531.dkr.ecr.us-east-1.amazonaws.com/bootstrap_trigger:latest python /root/BridgeDownstream/src/scripts/bootstrap_trigger/bootstrap_trigger.py --file-view syn30034467 --raw-folder-id syn29456518 --glue-workflow bridge-downstream-mobile-toolbox-hktrrx-S3ToJsonWorkflow --ssm-parameter synapse-bridgedownstream-auth --diff-s3-uri 's3://bridge-downstream-parquet/bridge-downstream/mobile-toolbox/hktrrx/parquet/dataset_metadata_v1/' --diff-parquet-field recordid --diff-file-view-field recordId
20 * * * * ec2-user docker run --rm 611413694531.dkr.ecr.us-east-1.amazonaws.com/bootstrap_trigger:latest python /root/BridgeDownstream/src/scripts/bootstrap_trigger/bootstrap_trigger.py --file-view syn30795668 --raw-folder-id syn29456954 --glue-workflow bridge-downstream-mobile-toolbox-pmbfzc-S3ToJsonWorkflow --ssm-parameter synapse-bridgedownstream-auth --diff-s3-uri 's3://bridge-downstream-parquet/bridge-downstream/mobile-toolbox/pmbfzc/parquet/dataset_metadata_v1/' --diff-parquet-field recordid --diff-file-view-field recordId
0 * * * * ec2-user docker run --rm 611413694531.dkr.ecr.us-east-1.amazonaws.com/bootstrap_trigger:latest python /root/BridgeDownstream/src/scripts/bootstrap_trigger/bootstrap_trigger.py --file-view syn29357512 --raw-folder-id syn29300097 --glue-workflow bridge-downstream-mobile-toolbox-cxhnxd-S3ToJsonWorkflow --ssm-parameter synapse-bridgedownstream-auth --diff-s3-uri 's3://bridge-downstream-parquet/bridge-downstream/mobile-toolbox/cxhnxd/parquet/dataset_archivemetadata_v1/' --diff-parquet-field recordid --diff-file-view-field recordId
5 * * * * ec2-user docker run --rm 611413694531.dkr.ecr.us-east-1.amazonaws.com/bootstrap_trigger:latest python /root/BridgeDownstream/src/scripts/bootstrap_trigger/bootstrap_trigger.py --file-view syn29357540 --raw-folder-id syn29300165 --glue-workflow bridge-downstream-mobile-toolbox-htshxm-S3ToJsonWorkflow --ssm-parameter synapse-bridgedownstream-auth --diff-s3-uri 's3://bridge-downstream-parquet/bridge-downstream/mobile-toolbox/htshxm/parquet/dataset_archivemetadata_v1/' --diff-parquet-field recordid --diff-file-view-field recordId
10 * * * * ec2-user docker run --rm 611413694531.dkr.ecr.us-east-1.amazonaws.com/bootstrap_trigger:latest python /root/BridgeDownstream/src/scripts/bootstrap_trigger/bootstrap_trigger.py --file-view syn29357582 --raw-folder-id syn29300178 --glue-workflow bridge-downstream-mobile-toolbox-fmqcjv-S3ToJsonWorkflow --ssm-parameter synapse-bridgedownstream-auth --diff-s3-uri 's3://bridge-downstream-parquet/bridge-downstream/mobile-toolbox/fmqcjv/parquet/dataset_archivemetadata_v1/' --diff-parquet-field recordid --diff-file-view-field recordId
15 * * * * ec2-user docker run --rm 611413694531.dkr.ecr.us-east-1.amazonaws.com/bootstrap_trigger:latest python /root/BridgeDownstream/src/scripts/bootstrap_trigger/bootstrap_trigger.py --file-view syn30034467 --raw-folder-id syn29456518 --glue-workflow bridge-downstream-mobile-toolbox-hktrrx-S3ToJsonWorkflow --ssm-parameter synapse-bridgedownstream-auth --diff-s3-uri 's3://bridge-downstream-parquet/bridge-downstream/mobile-toolbox/hktrrx/parquet/dataset_archivemetadata_v1/' --diff-parquet-field recordid --diff-file-view-field recordId
20 * * * * ec2-user docker run --rm 611413694531.dkr.ecr.us-east-1.amazonaws.com/bootstrap_trigger:latest python /root/BridgeDownstream/src/scripts/bootstrap_trigger/bootstrap_trigger.py --file-view syn30795668 --raw-folder-id syn29456954 --glue-workflow bridge-downstream-mobile-toolbox-pmbfzc-S3ToJsonWorkflow --ssm-parameter synapse-bridgedownstream-auth --diff-s3-uri 's3://bridge-downstream-parquet/bridge-downstream/mobile-toolbox/pmbfzc/parquet/dataset_archivemetadata_v1/' --diff-parquet-field recordid --diff-file-view-field recordId
Loading