fluentd-openlineage-parser 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. checksums.yaml +7 -0
  2. data/.idea/.gitignore +8 -0
  3. data/.idea/fluentd.iml +204 -0
  4. data/.idea/misc.xml +4 -0
  5. data/.idea/modules/benchmark-memory-0.2.iml +12 -0
  6. data/.idea/modules/bigdecimal-3.1.iml +11 -0
  7. data/.idea/modules/certstore_c-0.1.iml +15 -0
  8. data/.idea/modules/concurrent-ruby-1.3.iml +18 -0
  9. data/.idea/modules/concurrent-ruby-1.31.iml +15 -0
  10. data/.idea/modules/connection_pool-2.4.iml +11 -0
  11. data/.idea/modules/cool.io-1.8.iml +16 -0
  12. data/.idea/modules/drb-2.2.iml +14 -0
  13. data/.idea/modules/drb-2.21.iml +11 -0
  14. data/.idea/modules/ffi-1.17.iml +20 -0
  15. data/.idea/modules/ffi-win32-extensions-1.0.iml +19 -0
  16. data/.idea/modules/fluentd-1.17.iml +43 -0
  17. data/.idea/modules/http_parser.rb-0.8.iml +17 -0
  18. data/.idea/modules/json-2.7.iml +14 -0
  19. data/.idea/modules/json-2.71.iml +11 -0
  20. data/.idea/modules/msgpack-1.7.iml +15 -0
  21. data/.idea/modules/mutex_m-0.2.iml +15 -0
  22. data/.idea/modules/new_gem.iml +15 -0
  23. data/.idea/modules/power_assert-2.0.iml +19 -0
  24. data/.idea/modules/rake-13.2.iml +18 -0
  25. data/.idea/modules/rake-13.21.iml +15 -0
  26. data/.idea/modules/rake-compiler-1.2.iml +13 -0
  27. data/.idea/modules/rusty_json_schema-0.15.iml +15 -0
  28. data/.idea/modules/serverengine-2.3.iml +17 -0
  29. data/.idea/modules/sigdump-0.2.iml +16 -0
  30. data/.idea/modules/specifications.iml +14 -0
  31. data/.idea/modules/specifications1.iml +11 -0
  32. data/.idea/modules/strptime-0.2.iml +16 -0
  33. data/.idea/modules/thermite-0.13.iml +17 -0
  34. data/.idea/modules/webrick-1.8.iml +18 -0
  35. data/.idea/modules/win32-event-0.6.iml +21 -0
  36. data/.idea/modules/win32-ipc-0.7.iml +20 -0
  37. data/.idea/modules/yajl-ruby-1.4.iml +779 -0
  38. data/.idea/modules.xml +41 -0
  39. data/Gemfile +3 -0
  40. data/README.md +223 -0
  41. data/Rakefile +13 -0
  42. data/config/conf/fluent.conf +101 -0
  43. data/config/test-complete.json +73 -0
  44. data/config/test-start.json +73 -0
  45. data/events/event_full.json +206 -0
  46. data/events/event_invalid_dataset_facet.json +31 -0
  47. data/events/event_invalid_input_dataset_facet.json +29 -0
  48. data/events/event_invalid_job_facet.json +26 -0
  49. data/events/event_invalid_output_dataset_facet.json +29 -0
  50. data/events/event_invalid_run_facet.json +28 -0
  51. data/events/event_no_run_id.json +28 -0
  52. data/events/event_simple.json +29 -0
  53. data/fluentd-openlineage-parser.gemspec +28 -0
  54. data/lib/fluent/plugin/fluentd-openlineage-parser.rb +182 -0
  55. data/spec/Naming.md +500 -0
  56. data/spec/OpenLineage.json +304 -0
  57. data/spec/OpenLineage.md +179 -0
  58. data/spec/OpenLineage.yml +27 -0
  59. data/spec/OpenLineageModel.svg +1 -0
  60. data/spec/Versioning.md +49 -0
  61. data/spec/facets/ColumnLineageDatasetFacet.json +96 -0
  62. data/spec/facets/ColumnLineageDatasetFacet.md +106 -0
  63. data/spec/facets/DataQualityAssertionsDatasetFacet.json +49 -0
  64. data/spec/facets/DataQualityMetricsInputDatasetFacet.json +76 -0
  65. data/spec/facets/DatasetVersionDatasetFacet.json +31 -0
  66. data/spec/facets/DatasourceDatasetFacet.json +32 -0
  67. data/spec/facets/DocumentationDatasetFacet.json +31 -0
  68. data/spec/facets/DocumentationJobFacet.json +30 -0
  69. data/spec/facets/ErrorMessageRunFacet.json +41 -0
  70. data/spec/facets/ExternalQueryRunFacet.json +36 -0
  71. data/spec/facets/ExternalQueryRunFacet.md +49 -0
  72. data/spec/facets/ExtractionErrorRunFacet.json +58 -0
  73. data/spec/facets/JobTypeJobFacet.json +41 -0
  74. data/spec/facets/LifecycleStateChangeDatasetFacet.json +46 -0
  75. data/spec/facets/NominalTimeRunFacet.json +38 -0
  76. data/spec/facets/OutputStatisticsOutputDatasetFacet.json +36 -0
  77. data/spec/facets/OwnershipDatasetFacet.json +45 -0
  78. data/spec/facets/OwnershipJobFacet.json +45 -0
  79. data/spec/facets/ParentRunFacet.json +54 -0
  80. data/spec/facets/ProcessingEngineRunFacet.json +41 -0
  81. data/spec/facets/SQLJobFacet.json +30 -0
  82. data/spec/facets/SchemaDatasetFacet.json +59 -0
  83. data/spec/facets/SourceCodeJobFacet.json +34 -0
  84. data/spec/facets/SourceCodeLocationJobFacet.json +60 -0
  85. data/spec/facets/StorageDatasetFacet.json +35 -0
  86. data/spec/facets/SymlinksDatasetFacet.json +47 -0
  87. data/spec/registry/core/registry.json +31 -0
  88. data/spec/registry/gcp/facets/GcpCommonJobFacet.json +43 -0
  89. data/spec/registry/gcp/registry.json +6 -0
  90. data/spec/release.sh +80 -0
  91. data/spec/tests/ColumnLineageDatasetFacet/1.json +172 -0
  92. data/spec/tests/DataQualityAssertionsDatasetFacet/1.json +58 -0
  93. data/spec/tests/DataQualityMetricsInputDatasetFacet/1.json +23 -0
  94. data/spec/tests/DatasetVersionDatasetFacet/1.json +7 -0
  95. data/spec/tests/DatasourceDatasetFacet/1.json +7 -0
  96. data/spec/tests/DocumentationDatasetFacet/1.json +7 -0
  97. data/spec/tests/DocumentationJobFacet/1.json +7 -0
  98. data/spec/tests/ErrorMessageRunFacet/1.json +9 -0
  99. data/spec/tests/ExternalQueryRunFacet/1.json +8 -0
  100. data/spec/tests/ExtractionErrorRunFacet/1.json +15 -0
  101. data/spec/tests/JobTypeJobFacet/1.json +9 -0
  102. data/spec/tests/LifecycleStateChangeDatasetFacet/1.json +11 -0
  103. data/spec/tests/NominalTimeRunFacet/1.json +8 -0
  104. data/spec/tests/OutputStatisticsOutputDatasetFacet/1.json +9 -0
  105. data/spec/tests/OwnershipDatasetFacet/1.json +11 -0
  106. data/spec/tests/OwnershipJobFacet/1.json +11 -0
  107. data/spec/tests/ParentRunFacet/1.json +13 -0
  108. data/spec/tests/ProcessingEngineRunFacet/1.json +9 -0
  109. data/spec/tests/SQLJobFacet/1.json +7 -0
  110. data/spec/tests/SchemaDatasetFacet/1.json +92 -0
  111. data/spec/tests/SourceCodeJobFacet/1.json +8 -0
  112. data/spec/tests/SourceCodeLocationJobFacet/1.json +8 -0
  113. data/spec/tests/StorageDatasetFacet/1.json +8 -0
  114. data/spec/tests/SymlinksDatasetFacet/1.json +13 -0
  115. data/spec/tests/example_full_event.json +24 -0
  116. data/test/helper.rb +8 -0
  117. data/test/plugin/test_parser_openlineage.rb +141 -0
  118. metadata +298 -0
@@ -0,0 +1,43 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://openlineage.io/spec/facets/1-0-0/GcpCommonJobFacet.json",
4
+ "$defs": {
5
+ "GcpCommonJobFacet": {
6
+ "allOf": [
7
+ {
8
+ "$ref": "https://openlineage.io/spec/2-0-2/OpenLineage.json#/$defs/JobFacet"
9
+ },
10
+ {
11
+ "type": "object",
12
+ "properties": {
13
+ "displayName": {
14
+ "description": "The name of the job to be used on UI",
15
+ "type": "string"
16
+ },
17
+ "origin": {
18
+ "type": "object",
19
+ "properties": {
20
+ "sourceType": {
21
+ "description": "Type of the source. Possible values can be found in GCP documentation (https://cloud.google.com/data-catalog/docs/reference/data-lineage/rest/v1/projects.locations.processes#SourceType) ",
22
+ "type": "string"
23
+ },
24
+ "name": {
25
+ "description": "If the sourceType isn't CUSTOM, the value of this field should be a GCP resource name of the system, which reports lineage. The project and location parts of the resource name must match the project and location of the lineage resource being created. More details in GCP documentation https://cloud.google.com/data-catalog/docs/reference/data-lineage/rest/v1/projects.locations.processes#origin",
26
+ "type": "string"
27
+ }
28
+ }
29
+ }
30
+ },
31
+ "additionalProperties": true
32
+ }
33
+ ],
34
+ "type": "object"
35
+ }
36
+ },
37
+ "type": "object",
38
+ "properties": {
39
+ "gcp_common": {
40
+ "$ref": "#/$defs/GcpCommonJobFacet"
41
+ }
42
+ }
43
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "consumer": {
3
+ "root_doc_URL": "https://cloud.google.com/data-catalog/docs/reference/data-lineage/rpc/google.cloud.datacatalog.lineage.v1#google.cloud.datacatalog.lineage.v1.Lineage.ProcessOpenLineageRunEvent",
4
+ "produced_facets": ["ol:gcp:GcpCommonJobFacet.json"]
5
+ }
6
+ }
data/spec/release.sh ADDED
@@ -0,0 +1,80 @@
1
+ #!/usr/bin/env bash
2
+ #
3
+ # Copyright 2018-2024 contributors to the OpenLineage project
4
+ # SPDX-License-Identifier: Apache-2.0
5
+
6
+ set -e
7
+
8
+ function git-website() {
9
+ command git --git-dir "$WEBSITE_DIR/.git" --work-tree "$WEBSITE_DIR" $@
10
+ }
11
+
12
+ git config --global user.email "openlineage-bot-key@openlineage.io"
13
+ git config --global user.name "OpenLineage deploy bot"
14
+
15
+ WEBSITE_DIR=${WEBSITE_DIR:-$HOME/build/website}
16
+ REPO="git@github.com:OpenLineage/docs"
17
+
18
+ if [[ -d $WEBSITE_DIR ]]; then
19
+ # Check if we're in git repository and the repository points at website
20
+ if [[ $(git-website rev-parse --is-inside-work-tree) == "true" && $(git-website config --get remote.origin.url) == "$REPO" ]]; then
21
+ # Make sure we're at the head of the main branch
22
+ git checkout main
23
+ git reset --hard origin/master
24
+ else
25
+ echo "$WEBSITE_DIR is not empty - failing"
26
+ exit 1
27
+ fi
28
+ else
29
+ git clone --depth 1 $REPO $WEBSITE_DIR
30
+ fi
31
+
32
+ WEBSITE_COMMIT_FILE="$WEBSITE_DIR/.last_spec_commit_id"
33
+
34
+ # Check on which commit we deployed spec last
35
+ if [[ -f $WEBSITE_COMMIT_FILE ]]; then
36
+ PREV_SPEC_COMMIT=$(cat "$WEBSITE_COMMIT_FILE")
37
+ else
38
+ # Before lifecycle state facet
39
+ PREV_SPEC_COMMIT="d66c41872f3cc7f7cd5c99664d401e070e60ff48"
40
+ fi
41
+
42
+ # check if there are any changes in spec in the latest commit
43
+ if git diff --name-only --exit-code $PREV_SPEC_COMMIT HEAD 'spec/*.json' 'spec/OpenLineage.yml' >> /dev/null; then
44
+ echo "no changes in spec detected, skipping publishing spec"
45
+ exit 0
46
+ fi
47
+
48
+ echo "Copying spec files from commit $PREV_SPEC_COMMIT"
49
+
50
+ # Mark last commit on which we finished copying spec
51
+ echo "$CIRCLE_SHA1" > "$WEBSITE_COMMIT_FILE"
52
+
53
+ # Copy changed spec YML file to target location
54
+ cp spec/OpenLineage.yml ${WEBSITE_DIR}/static/spec/OpenLineage.yml
55
+
56
+ # Copy changed spec JSON files to target location
57
+ git diff --name-only $PREV_SPEC_COMMIT HEAD 'spec/*.json' | while read LINE; do
58
+
59
+ #ignore registry files
60
+ if [[ $LINE =~ "registry.json" ]]; then
61
+ continue
62
+ fi
63
+
64
+ # extract target file name from $id field in spec files
65
+ URL=$(cat $LINE | jq -r '.["$id"]')
66
+
67
+ # extract target location in website repo
68
+ LOC="${WEBSITE_DIR}/static/${URL#*//*/}"
69
+ LOC_DIR="${LOC%/*}"
70
+
71
+ # create dir if necessary, and copy files
72
+ mkdir -p $LOC_DIR
73
+ cp $LINE $LOC
74
+ done
75
+
76
+ # commit new spec and push
77
+ git-website add -A .last_spec_commit_id
78
+ git-website add -A static/spec/
79
+ git --git-dir "$WEBSITE_DIR/.git" --work-tree "$WEBSITE_DIR" commit -m "openlineage specification update"
80
+ git-website push
@@ -0,0 +1,172 @@
1
+ {
2
+ "columnLineage": {
3
+ "fields": {
4
+ "NAME": {
5
+ "inputFields": [
6
+ {
7
+ "namespace": "SnowflakeOpenLineage",
8
+ "name": "CUSTOMERS",
9
+ "field": "NAME",
10
+ "transformations": [
11
+ {
12
+ "type": "DIRECT",
13
+ "subtype": "IDENTITY",
14
+ "masking": false
15
+ }
16
+ ]
17
+ },
18
+ {
19
+ "namespace": "SnowflakeOpenLineage",
20
+ "name": "CUSTOMERS",
21
+ "field": "ID",
22
+ "transformations": [
23
+ {
24
+ "type": "INDIRECT",
25
+ "subtype": "JOIN",
26
+ "description": "ON (DISCOUNTS.CUSTOMERS_ID=CUSTOMERS.ID)"
27
+ }
28
+ ]
29
+ },
30
+ {
31
+ "namespace": "SnowflakeOpenLineage",
32
+ "name": "DISCOUNTS",
33
+ "field": "CUSTOMERS_ID",
34
+ "transformations": [
35
+ {
36
+ "type": "INDIRECT",
37
+ "subtype": "JOIN",
38
+ "description": "ON (DISCOUNTS.CUSTOMERS_ID=CUSTOMERS.ID)"
39
+ }
40
+ ]
41
+ }
42
+ ],
43
+ "transformationDescription": "SELECT NAME",
44
+ "transformationType": "IDENTITY"
45
+ },
46
+ "AMOUNT_OFF": {
47
+ "inputFields": [
48
+ {
49
+ "namespace": "SnowflakeOpenLineage",
50
+ "name": "DISCOUNTS",
51
+ "field": "AMOUNT_OFF",
52
+ "transformations": [
53
+ {
54
+ "type": "DIRECT",
55
+ "subtype": "IDENTITY",
56
+ "masking": false
57
+ }
58
+ ]
59
+ },
60
+ {
61
+ "namespace": "SnowflakeOpenLineage",
62
+ "name": "CUSTOMERS",
63
+ "field": "ID",
64
+ "transformations": [
65
+ {
66
+ "type": "INDIRECT",
67
+ "subtype": "JOIN",
68
+ "description": "ON (DISCOUNTS.CUSTOMERS_ID=CUSTOMERS.ID)"
69
+ }
70
+ ]
71
+ },
72
+ {
73
+ "namespace": "SnowflakeOpenLineage",
74
+ "name": "DISCOUNTS",
75
+ "field": "CUSTOMERS_ID",
76
+ "transformations": [
77
+ {
78
+ "type": "INDIRECT",
79
+ "subtype": "JOIN",
80
+ "description": "ON (DISCOUNTS.CUSTOMERS_ID=CUSTOMERS.ID)"
81
+ }
82
+ ]
83
+ }
84
+ ],
85
+ "transformationType": "IDENTITY"
86
+ },
87
+ "STARTS_AT": {
88
+ "inputFields": [
89
+ {
90
+ "namespace": "SnowflakeOpenLineage",
91
+ "name": "DISCOUNTS",
92
+ "field": "STARTS_AT",
93
+ "transformations": [
94
+ {
95
+ "type": "DIRECT",
96
+ "subtype": "IDENTITY",
97
+ "masking": false
98
+ }
99
+ ]
100
+ },
101
+ {
102
+ "namespace": "SnowflakeOpenLineage",
103
+ "name": "CUSTOMERS",
104
+ "field": "ID",
105
+ "transformations": [
106
+ {
107
+ "type": "INDIRECT",
108
+ "subtype": "JOIN",
109
+ "description": "ON (DISCOUNTS.CUSTOMERS_ID=CUSTOMERS.ID)"
110
+ }
111
+ ]
112
+ },
113
+ {
114
+ "namespace": "SnowflakeOpenLineage",
115
+ "name": "DISCOUNTS",
116
+ "field": "CUSTOMERS_ID",
117
+ "transformations": [
118
+ {
119
+ "type": "INDIRECT",
120
+ "subtype": "JOIN",
121
+ "description": "ON (DISCOUNTS.CUSTOMERS_ID=CUSTOMERS.ID)"
122
+ }
123
+ ]
124
+ }
125
+ ],
126
+ "transformationType": "IDENTITY"
127
+ },
128
+ "ENDS_AT": {
129
+ "inputFields": [
130
+ {
131
+ "namespace": "SnowflakeOpenLineage",
132
+ "name": "DISCOUNTS",
133
+ "field": "ENDS_AT",
134
+ "transformations": [
135
+ {
136
+ "type": "DIRECT",
137
+ "subtype": "IDENTITY",
138
+ "masking": false
139
+ }
140
+ ]
141
+ },
142
+ {
143
+ "namespace": "SnowflakeOpenLineage",
144
+ "name": "CUSTOMERS",
145
+ "field": "ID",
146
+ "transformations": [
147
+ {
148
+ "type": "INDIRECT",
149
+ "subtype": "JOIN",
150
+ "description": "ON (DISCOUNTS.CUSTOMERS_ID=CUSTOMERS.ID)"
151
+ }
152
+ ]
153
+ },
154
+ {
155
+ "namespace": "SnowflakeOpenLineage",
156
+ "name": "DISCOUNTS",
157
+ "field": "CUSTOMERS_ID",
158
+ "transformations": [
159
+ {
160
+ "type": "INDIRECT",
161
+ "subtype": "JOIN",
162
+ "description": "ON (DISCOUNTS.CUSTOMERS_ID=CUSTOMERS.ID)"
163
+ }
164
+ ]
165
+ }
166
+ ]
167
+ }
168
+ },
169
+ "_producer": "https://github.com/OpenLineage/OpenLineage/blob/v1-0-0/client",
170
+ "_schemaURL": "https://openlineage.io/spec/facets/1-1-0/ColumnLineageDatasetFacet.json"
171
+ }
172
+ }
@@ -0,0 +1,58 @@
1
+ {
2
+ "dataQualityAssertions": {
3
+ "assertions": [
4
+ {
5
+ "assertion": "accepted_values",
6
+ "column": "status",
7
+ "success": true
8
+ },
9
+ {
10
+ "assertion": "not_null",
11
+ "column": "amount",
12
+ "success": true
13
+ },
14
+ {
15
+ "assertion": "not_null",
16
+ "column": "bank_transfer_amount",
17
+ "success": true
18
+ },
19
+ {
20
+ "assertion": "not_null",
21
+ "column": "coupon_amount",
22
+ "success": true
23
+ },
24
+ {
25
+ "assertion": "not_null",
26
+ "column": "credit_card_amount",
27
+ "success": true
28
+ },
29
+ {
30
+ "assertion": "not_null",
31
+ "column": "customer_id",
32
+ "success": true
33
+ },
34
+ {
35
+ "assertion": "not_null",
36
+ "column": "gift_card_amount",
37
+ "success": true
38
+ },
39
+ {
40
+ "assertion": "not_null",
41
+ "column": "order_id",
42
+ "success": true
43
+ },
44
+ {
45
+ "assertion": "relationships",
46
+ "column": "customer_id",
47
+ "success": true
48
+ },
49
+ {
50
+ "assertion": "unique",
51
+ "column": "order_id",
52
+ "success": true
53
+ }
54
+ ],
55
+ "_producer": "https://github.com/OpenLineage/OpenLineage/blob/v1-0-0/client",
56
+ "_schemaURL": "https://openlineage.io/spec/facets/1-0-0/DataQualityAssertionsDatasetFacet.json"
57
+ }
58
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "dataQualityMetrics": {
3
+ "columnMetrics": {
4
+ "amount": {
5
+ "count": 10,
6
+ "max": 1500,
7
+ "min": 100,
8
+ "sum": 6600
9
+ },
10
+ "counterparty_id": {
11
+ "nullCount": 0
12
+ },
13
+ "user_id": {
14
+ "distinctCount": 3,
15
+ "nullCount": 0
16
+ }
17
+ },
18
+ "rowCount": 10,
19
+ "fileCount": 5,
20
+ "_producer": "https://github.com/OpenLineage/OpenLineage/blob/v1-0-0/client",
21
+ "_schemaURL": "https://openlineage.io/spec/facets/1-0-0/DataQualityMetricsInputDatasetFacet.json"
22
+ }
23
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": {
3
+ "datasetVersion": "2",
4
+ "_producer": "https://github.com/OpenLineage/OpenLineage/blob/v1-0-0/client",
5
+ "_schemaURL": "https://openlineage.io/spec/facets/1-0-0/DatasetVersionDatasetFacet.json"
6
+ }
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": {
3
+ "datasetVersion": "2",
4
+ "_producer": "https://github.com/OpenLineage/OpenLineage/blob/v1-0-0/client",
5
+ "_schemaURL": "https://openlineage.io/spec/facets/1-0-0/DatasetVersionDatasetFacet.json"
6
+ }
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "documentation": {
3
+ "description": "Some dataset description",
4
+ "_producer": "https://github.com/OpenLineage/OpenLineage/blob/v1-0-0/client",
5
+ "_schemaURL": "https://openlineage.io/spec/facets/1-0-0/DocumentationDatasetFacet.json"
6
+ }
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "documentation": {
3
+ "description": "Determines the popular day of week orders are placed.",
4
+ "_producer": "https://github.com/OpenLineage/OpenLineage/blob/v1-0-0/client",
5
+ "_schemaURL": "https://openlineage.io/spec/facets/1-0-0/DocumentationDatasetFacet.json"
6
+ }
7
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "errorMessage": {
3
+ "message": "failed",
4
+ "programmingLanguage": "JAVA",
5
+ "stackTrace": "<stack_trace>",
6
+ "_producer": "https://github.com/OpenLineage/OpenLineage/blob/v1-0-0/client",
7
+ "_schemaURL": "https://openlineage.io/spec/facets/1-0-0/ErrorMessageRunFacet.json"
8
+ }
9
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "externalQuery": {
3
+ "_producer": "https://github.com/OpenLineage/OpenLineage/tree/0.0.1/integration/airflow",
4
+ "_schemaURL": "https://openlineage.io/spec/facets/1-0-0/ExternalQueryRunFacet.json",
5
+ "externalQueryId": "bigquery_1690280798993890_f4ade238a8121576708e1892f69e67fe",
6
+ "source": "bigquery"
7
+ }
8
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "extractionError": {
3
+ "totalTasks": 1,
4
+ "failedTasks": 1,
5
+ "errors": [
6
+ {
7
+ "errorMessage": "Expected TABLE, VIEW, INDEX, ROLE, SCHEMA, FUNCTION, STAGE or SEQUENCE after DROP, found: POLICY at Line: 1, Column 6",
8
+ "task": "DROP POLICY IF EXISTS name ON table_name",
9
+ "taskNumber": 0
10
+ }
11
+ ],
12
+ "_producer": "https://github.com/OpenLineage/OpenLineage/tree/0.0.1/integration/dbt",
13
+ "_schemaURL": "https://openlineage.io/spec/facets/1-0-1/ExtractionErrorRunFacet.json"
14
+ }
15
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "jobType": {
3
+ "processingType": "BATCH",
4
+ "integration": "SPARK",
5
+ "jobType": "QUERY",
6
+ "_producer": "https://github.com/OpenLineage/OpenLineage/blob/v1-0-0/client",
7
+ "_schemaURL": "https://openlineage.io/spec/facets/2-0-2/JobTypeJobFacet.json"
8
+ }
9
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "lifecycleStateChange": {
3
+ "lifecycleStateChange": "RENAME",
4
+ "previousIdentifier": {
5
+ "name": "/tmp/alter_test/alter_table_test",
6
+ "namespace": "file"
7
+ },
8
+ "_producer": "https://github.com/OpenLineage/OpenLineage/blob/v1-0-0/client",
9
+ "_schemaURL": "https://openlineage.io/spec/facets/1-0-0/DatasetVersionDatasetFacet.json"
10
+ }
11
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "nominalTime": {
3
+ "_producer": "https://github.com/OpenLineage/OpenLineage/tree/0.0.1/client/python",
4
+ "_schemaURL": "https://raw.githubusercontent.com/OpenLineage/OpenLineage/main/spec/OpenLineage.json#/definitions/NominalTimeRunFacet",
5
+ "nominalEndTime": "2020-01-02",
6
+ "nominalStartTime": "2020-01-01"
7
+ }
8
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "outputStatistics": {
3
+ "_producer": "https://github.com/OpenLineage/OpenLineage/blob/v1-0-0/client",
4
+ "_schemaURL": "https://openlineage.io/spec/1-0-1/OpenLineage.json#/definitions/OutputStatisticsOutputDatasetFacet",
5
+ "rowCount": 2000,
6
+ "size": 2097152,
7
+ "fileCount": 5
8
+ }
9
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "ownership": {
3
+ "_producer": "https://github.com/OpenLineage/OpenLineage/blob/v1-0-0/client",
4
+ "_schemaURL": "https://openlineage.io/spec/facets/1-0-0/OwnershipDatasetFacet.json",
5
+ "owners": [
6
+ {
7
+ "name": "owner"
8
+ }
9
+ ]
10
+ }
11
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "ownership": {
3
+ "_producer": "https://github.com/OpenLineage/OpenLineage/blob/v1-0-0/client",
4
+ "_schemaURL": "https://openlineage.io/spec/facets/1-0-0/OwnershipJobFacet.json",
5
+ "owners": [
6
+ {
7
+ "name": "owner"
8
+ }
9
+ ]
10
+ }
11
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "parent": {
3
+ "_producer": "https://github.com/OpenLineage/OpenLineage/tree/0.0.1/integration/dbt",
4
+ "_schemaURL": "https://openlineage.io/spec/facets/1-0-0/ParentRunFacet.json",
5
+ "run": {
6
+ "runId": "f99310b4-3c3c-1a1a-2b2b-c1b95c24ff11"
7
+ },
8
+ "job": {
9
+ "namespace": "dbt",
10
+ "name": "dbt-job-name"
11
+ }
12
+ }
13
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "processing_engine": {
3
+ "version": "2.5.0",
4
+ "name": "Airflow",
5
+ "openlineageAdapterVersion": "0.29.2",
6
+ "_producer": "https://github.com/OpenLineage/OpenLineage/blob/v1-0-0/client",
7
+ "_schemaURL": "https://openlineage.io/spec/facets/1-0-0/ProcessingEngineRunFacet.json"
8
+ }
9
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "sql": {
3
+ "_producer": "https://github.com/OpenLineage/OpenLineage/tree/0.0.1/integration/dbt",
4
+ "_schemaURL": "https://openlineage.io/spec/facets/1-0-0/SQLJobFacet.json",
5
+ "query": "\n\nwith orders as (\n\n select * from \"postgres\".\"public\".\"stg_orders\"\n\n),\n\npayments as (\n\n select * from \"postgres\".\"public\".\"stg_payments\"\n\n),\n\norder_payments as (\n\n select\n order_id,\n\n sum(case when payment_method = 'credit_card' then amount else 0 end) as credit_card_amount,\n sum(case when payment_method = 'coupon' then amount else 0 end) as coupon_amount,\n sum(case when payment_method = 'bank_transfer' then amount else 0 end) as bank_transfer_amount,\n sum(case when payment_method = 'gift_card' then amount else 0 end) as gift_card_amount,\n sum(amount) as total_amount\n\n from payments\n\n group by order_id\n\n),\n\nfinal as (\n\n select\n orders.order_id,\n orders.customer_id,\n orders.order_date,\n orders.status,\n\n order_payments.credit_card_amount,\n\n order_payments.coupon_amount,\n\n order_payments.bank_transfer_amount,\n\n order_payments.gift_card_amount,\n\n order_payments.total_amount as amount\n\n from orders\n\n\n left join order_payments\n on orders.order_id = order_payments.order_id\n\n)\n\nselect * from final"
6
+ }
7
+ }
@@ -0,0 +1,92 @@
1
+ {
2
+ "schema": {
3
+ "fields": [
4
+ {
5
+ "name": "user_id",
6
+ "type": "int64"
7
+ },
8
+ {
9
+ "name": "counterparty_id",
10
+ "type": "int64"
11
+ },
12
+ {
13
+ "name": "currency",
14
+ "type": "object"
15
+ },
16
+ {
17
+ "name": "amount",
18
+ "type": "int64"
19
+ },
20
+ {
21
+ "name": "phones",
22
+ "type": "array",
23
+ "description": "List of phone numbers",
24
+ "fields": [
25
+ {
26
+ "name": "_element",
27
+ "type": "string",
28
+ "description": "Phone number"
29
+ }
30
+ ]
31
+ },
32
+ {
33
+ "name": "addresses",
34
+ "type": "struct",
35
+ "description": "Has customer completed activation process",
36
+ "fields": [
37
+ {
38
+ "name": "type",
39
+ "type": "string",
40
+ "description": "Address type, g.e. home, work, etc."
41
+ },
42
+ {
43
+ "name": "country",
44
+ "type": "string",
45
+ "description": "Country name"
46
+ },
47
+ {
48
+ "name": "zip",
49
+ "type": "string",
50
+ "description": "Zip code"
51
+ },
52
+ {
53
+ "name": "state",
54
+ "type": "string",
55
+ "description": "State name"
56
+ },
57
+ {
58
+ "name": "street",
59
+ "type": "string",
60
+ "description": "Street name"
61
+ }
62
+ ]
63
+ },
64
+ {
65
+ "name": "custom_properties",
66
+ "type": "map",
67
+ "fields": [
68
+ {
69
+ "name": "key",
70
+ "type": "string"
71
+ },
72
+ {
73
+ "name": "value",
74
+ "type": "union",
75
+ "fields": [
76
+ {
77
+ "name": "_0",
78
+ "type": "string"
79
+ },
80
+ {
81
+ "name": "_1",
82
+ "type": "int64"
83
+ }
84
+ ]
85
+ }
86
+ ]
87
+ }
88
+ ],
89
+ "_producer": "https://github.com/OpenLineage/OpenLineage/blob/v1-0-0/client",
90
+ "_schemaURL": "https://openlineage.io/spec/facets/1-1-0/SchemaDatasetFacet.json"
91
+ }
92
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "sourceCode": {
3
+ "language": "bash",
4
+ "sourceCode": "ls -halt && exit 0",
5
+ "_producer": "https://github.com/OpenLineage/OpenLineage/blob/v1-0-0/client",
6
+ "_schemaURL": "https://openlineage.io/spec/facets/1-0-0/SourceCodeJobFacet.json"
7
+ }
8
+ }