Hi, I trying to ingest from snowflake to DataHub u...
# ingestion
a
Hi, I trying to ingest from snowflake to DataHub using my local machine, and I get http 500 error
Copy code
[2022-02-02 19:57:29,766] ERROR    {datahub.ingestion.run.pipeline:87} - failed to write record with workunit corp_data_forge_ods_dev.ada.curr_ada_permissions with ('Unable to emit metadata to DataHub GMS'
'status': 500
errors in GMS pod:
Copy code
16:31:33.065 [qtp544724190-11] INFO  c.l.m.filter.RestliLoggingFilter:56 - POST /entities?action=ingest - ingest - 500 - 0ms
16:31:33.066 [qtp544724190-11] ERROR c.l.m.filter.RestliLoggingFilter:38 - java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
this is my recipes
Copy code
source:
  type: snowflake
  config:
    env: POC
    host_port: "myacc"
    warehouse: "wh-name"
    database_pattern:
      allow:
        - "db-name"
    username: "username"
    password: "pass"
    role: "myrole"
sink:
  type: "datahub-rest"
  config:
    server: "<http://123123-123123.us-east-1.elb.amazonaws.com:8080>"
GSM is able, I can send API request and receive respond
Copy code
curl --location --request POST '<http://123123-12312123.us-east-1.elb.amazonaws.com:8080/entities?action=search>' \
--header 'X-RestLi-Protocol-Version: 2.0.0' \
--header 'Content-Type: application/json' \
--data-raw '{
    "input": "*",
    "entity": "dataset",
    "start": 0,
    "count": 1000
}'
but I can set sink to json. It’s work. Then I able to set source = json, sink=datahub and it’s work! Don’t know how it’s happens
o
Hey! Do you have the full stacktrace for the InvocationTargetException that happens from GMS?
a
@orange-night-91387 here is full stacktrace
o
Looks like a dataset was ingested with FabricType "POC" and it fails to convert that to an Urn object
FabrictType is an enum with a limited set of values, unfortunately it cannot just be any string. Offending urn:
urn:li:dataset:(urn:li:qqq:snowflake,qqq.curr_ada_permissions,POC)
a
I’m only set POC into env:
Copy code
source:
  type: snowflake
  config:
    env: POC
is this the reason?
o
Yep!
That has to be set to one of the values in the enum
a
Thanks 👍