witty-butcher-82399
10/15/2021, 10:59 AMDataPlatformInstance aspect for datasets. Is that somehow related to the “domains” feature that was mentioned at some moment?early-lamp-41924
10/15/2021, 6:59 PMearly-lamp-41924
10/15/2021, 7:00 PMearly-lamp-41924
10/15/2021, 7:00 PMwitty-butcher-82399
10/16/2021, 2:31 PMurn:li:dataset:(urn:li:dataPlatform:kafka,TopicName,PROD)
Right now we have a custom transform to overwrite data platform so we can have:
urn:li:dataset:(urn:li:dataPlatform:kafka@clusterX,TopicName,PROD) and urn:li:dataset:(urn:li:dataPlatform:kafka@clusterY,TopicName,PROD)
Is this something that will be covered with the domains feature?early-lamp-41924
10/16/2021, 6:03 PMwitty-butcher-82399
10/18/2021, 5:54 AMwitty-butcher-82399
11/19/2021, 11:02 AMmammoth-bear-12532
witty-butcher-82399
11/19/2021, 3:11 PMmammoth-bear-12532
witty-butcher-82399
11/19/2021, 3:41 PMstrong-vase-42460
12/08/2021, 7:18 AMurn:li:dataset:(urn:li:dataPlatform:mysql,my_machine@classicmodels.products,PROD)
aspect: datasetKey
metadata: {"origin":"PROD","name":"my_machine@classicmodels.products","platform":"urn:li:dataPlatform:mysql"}
When same recipe is executed with profiling enabled.
urn: urn:li:dataset:(urn:li:dataPlatform:mysql,classicmodels.products,PROD)
aspect: datasetKey
metadata: {"name":"classicmodels.products","platform":"urn:li:dataPlatform:mysql","origin":"PROD"}
My recipe looks like this.
source:
type: mysql
config:
username: my_username
password: my_password
host_port: localhost:15000
database: classicmodels
profiling:
enabled: true
sink:
type: datahub-rest
config:
server: <http://localhost:8080>
transformers:
- type: example_transformer.ChangeDataset
config:
instance_id: "my_machine"
Is there something that I am missing here, that is resulting in duplication of all my tables with new urn.
I would like to mention that if I don't modify the urn with my transformer, it works fine.
TLDR; looking for a way to profile datasets with custom name.
Thanks in advance.witty-butcher-82399
12/09/2021, 7:12 PMurn:li:dataset:(urn:li:dataPlatform:kafka@my-cluster,my-topic,PROD). And we have a couple of redshift recipes with profile enabled and it works.
We overcome the issue by handling the different envelopes in the transform:
def transform(
self, record_envelopes: Iterable[RecordEnvelope]
) -> Iterable[RecordEnvelope]:
# loop over envelopes
for envelope in record_envelopes:
# if envelope is an MCE, MCP or MCPW add the cluster name
# see <https://github.com/linkedin/datahub/issues/3300> for an explanation
if isinstance(envelope.record, MetadataChangeEventClass):
envelope.record = self.transform_one(envelope.record)
elif isinstance(envelope.record, MetadataChangeProposalClass):
envelope.record = self.transform_one_proposal(envelope.record)
elif isinstance(envelope.record, MetadataChangeProposalWrapper):
envelope.record = self.transform_one_proposal_wrapper(envelope.record)
yield envelope
Hope this helps.strong-vase-42460
12/09/2021, 7:33 PM