calm-addition-66352
04/21/2021, 8:17 AM{
"auditHeader": null,
"proposedSnapshot": {
"com.linkedin.pegasus2avro.metadata.snapshot.DashboardSnapshot": {
"urn": "urn:li:dashboard:sample",
"aspects": [
{
"com.linkedin.pegasus2avro.dataset.DashboardInfo": {
"title": "Sample Dashboard",
"description": "This is a sample dashboard to test mce events"
}
},
{
"com.linkedin.pegasus2avro.common.Ownership": {
"owners": [
{
"owner": "urn:li:corpuser:bi-analyst",
"type": "DEVELOPER"
}
]
}
}
]
}
},
"proposedDelta": null
}
metadata.yml
source:
type: "file"
config:
filename: ./mce.json
sink:
type: "datahub-rest"
config:
server: "<http://localhost:8080>"
I get an error saying __root__, MetadataFileSourceConfig expected dict not str (type=type_error)
. So I am wondering either this method doesn't support Dashboard/Chart metadata or I am missing a property or a value in my mce json šgray-shoe-75895
04/21/2021, 8:57 AMgray-shoe-75895
04/21/2021, 8:58 AMcalm-addition-66352
04/21/2021, 11:08 AM[2021-04-21 11:06:59,968] INFO {datahub.entrypoints:68} - Using config: {'source': {'type': 'file', 'config': 'filename:/home/ec2-user/metadata/dashboards_mce.json'}, 'sink': {'type': 'datahub-rest', 'config': {'server': '<http://localhost:8080>'}}}
1 validation error for MetadataFileSourceConfig
__root__
MetadataFileSourceConfig expected dict not str (type=type_error)
gray-shoe-75895
04/21/2021, 5:51 PMcalm-addition-66352
04/22/2021, 4:17 AMTraceback (most recent call last):
File "/usr/local/bin/datahub", line 8, in <module>
sys.exit(datahub())
File "/usr/local/lib/python3.6/site-packages/click/core.py", line 829, in __call__
return self.main(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/click/core.py", line 782, in main
rv = self.invoke(ctx)
File "/usr/local/lib/python3.6/site-packages/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/local/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/local/lib/python3.6/site-packages/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/datahub/entrypoints.py", line 74, in ingest
pipeline.run()
File "/usr/local/lib/python3.6/site-packages/datahub/ingestion/run/pipeline.py", line 108, in run
for wu in self.source.get_workunits():
File "/usr/local/lib/python3.6/site-packages/datahub/ingestion/source/mce_file.py", line 37, in get_workunits
for i, mce in enumerate(iterate_mce_file(self.config.filename)):
File "/usr/local/lib/python3.6/site-packages/datahub/ingestion/source/mce_file.py", line 18, in iterate_mce_file
mce: MetadataChangeEvent = MetadataChangeEvent.from_obj(obj)
File "/usr/local/lib/python3.6/site-packages/avrogen/dict_wrapper.py", line 38, in from_obj
return conv.from_json_object(obj, cls.RECORD_SCHEMA)
File "/usr/local/lib/python3.6/site-packages/avrogen/avrojson.py", line 98, in from_json_object
return self._generic_from_json(json_obj, writers_schema, readers_schema)
File "/usr/local/lib/python3.6/site-packages/avrogen/avrojson.py", line 245, in _generic_from_json
result = self._record_from_json(json_obj, writers_schema, readers_schema)
File "/usr/local/lib/python3.6/site-packages/avrogen/avrojson.py", line 328, in _record_from_json
field_value = self._generic_from_json(json_obj[field.name], writers_field.type, field.type)
File "/usr/local/lib/python3.6/site-packages/avrogen/avrojson.py", line 243, in _generic_from_json
result = self._union_from_json(json_obj, writers_schema, readers_schema)
File "/usr/local/lib/python3.6/site-packages/avrogen/avrojson.py", line 294, in _union_from_json
return self._generic_from_json(value, s, readers_schema)
File "/usr/local/lib/python3.6/site-packages/avrogen/avrojson.py", line 226, in _generic_from_json
return self._generic_from_json(json_obj, writers_schema, s)
File "/usr/local/lib/python3.6/site-packages/avrogen/avrojson.py", line 245, in _generic_from_json
result = self._record_from_json(json_obj, writers_schema, readers_schema)
File "/usr/local/lib/python3.6/site-packages/avrogen/avrojson.py", line 328, in _record_from_json
field_value = self._generic_from_json(json_obj[field.name], writers_field.type, field.type)
File "/usr/local/lib/python3.6/site-packages/avrogen/avrojson.py", line 239, in _generic_from_json
result = self._array_from_json(json_obj, writers_schema, readers_schema)
File "/usr/local/lib/python3.6/site-packages/avrogen/avrojson.py", line 268, in _array_from_json
for x in json_obj]
File "/usr/local/lib/python3.6/site-packages/avrogen/avrojson.py", line 268, in <listcomp>
for x in json_obj]
File "/usr/local/lib/python3.6/site-packages/avrogen/avrojson.py", line 243, in _generic_from_json
result = self._union_from_json(json_obj, writers_schema, readers_schema)
File "/usr/local/lib/python3.6/site-packages/avrogen/avrojson.py", line 299, in _union_from_json
raise schema.AvroException('Datum union type not in schema: %s', value_type)
avro.schema.AvroException: ('Datum union type not in schema: %s', 'com.linkedin.pegasus2avro.dataset.ChartInfo')
calm-addition-66352
04/22/2021, 4:17 AM[
{
"auditHeader": null,
"proposedSnapshot": {
"com.linkedin.pegasus2avro.metadata.snapshot.ChartSnapshot": {
"urn": "urn:li:chart:sample_chart",
"aspects": [
{
"com.linkedin.pegasus2avro.dataset.ChartInfo": {
"title": "Chart One - Sample Dashboard",
"description": "This is a test chart",
"chartUrl": "<http://google.com|google.com>"
}
},
{
"com.linkedin.pegasus2avro.common.Ownership": {
"owners": [
{
"owner":"urn:li:corpuser:bi-analyst",
"type": "DEVELOPER"
}
]
}
}
]
}
},
"proposedDelta": null
},
{
"auditHeader": null,
"proposedSnapshot": {
"com.linkedin.pegasus2avro.metadata.snapshot.DashboardSnapshot": {
"urn": "urn:li:dashboard:sample",
"aspects": [
{
"com.linkedin.pegasus2avro.dataset.DashboardInfo": {
"title": "Sample Dashboard",
"description": "This is a sample dashboard to test mce events",
"dashboardUrl": "<http://google.com|google.com>",
"charts": [
"urn:li:chart:sample_chart"
]
}
},
{
"com.linkedin.pegasus2avro.common.Ownership": {
"owners": [
{
"owner":"urn:li:corpuser:bi-analyst",
"type": "DEVELOPER"
}
]
}
}
]
}
},
"proposedDelta": null
}
]
Error -gray-shoe-75895
04/22/2021, 4:31 AMcom.linkedin.pegasus2avro.chart.ChartInfo
and com.linkedin.pegasus2avro.dashboard.DashboardInfo
instead of com.linkedin.pegasus2avro.dataset.ChartInfo
and com.linkedin.pegasus2avro.dataset.DashboardInfo
- the namespaces are chart/dashboard instead of datasetgray-shoe-75895
04/22/2021, 4:32 AMcalm-addition-66352
04/22/2021, 4:32 AMcalm-addition-66352
04/22/2021, 4:32 AMgray-shoe-75895
04/22/2021, 4:33 AMdatahub check mce-file <filename>
prior to running ingestioncalm-addition-66352
04/22/2021, 4:34 AMcalm-addition-66352
04/22/2021, 8:08 AMdataplatform
property incorrectly in the urn. Because on the UI, i get an error when I try to go to this individual dashboard or chart page.
⢠By data platform
do we mean a data source or is it like the reporting platform on this scenario eg: superset, quicksight, looker ?
⢠By any chance do you have a valid dashboard or chart mce file available that I can refer to ?gray-shoe-75895
04/22/2021, 7:28 PMgray-shoe-75895
04/22/2021, 7:29 PMcalm-addition-66352
04/22/2021, 8:34 PM