Exactly what should be the information inside <job-payload>.json file for Datameer REST API?

Comments

5 comments

  • Official comment
    Joel Stewart

    The payload differs slightly between different Datameer versions. I'd recommend creating an example object in the GUI once and then using the REST API to read the existing object's payload. This will give you a suitable example to build from that is certainly compatible with your instance of Datameer.

    Comment actions Permalink
  • Phillip Middleton

    In v10.1.5, for creating datalinks via REST. Is there a method to call which allows all fields being referenced to have empty values (see below snippet). 

    Ex: if we don't include the {fields} key, the created datalink will include all fields from the source data, but it won't 'allow empty' for all of them as there doesn't seem to be a global method apparent in the docs to do so. 

    {
    "className": "datameer.dap.common.entity.DataSourceConfigurationImpl",
    "dataStore": {
    "path": "/Data/Connections/Cloudera/Hive_DEV.dst",
    "uuid": "19becee1-e284-4889-b4ba-3dadb172eb86"
    },
    "errorHandlingMode": "DROP_RECORD",
    "fields": [
    {
    "acceptEmpty": true, ... <snip> <---- this is what we're after, allow empty for all fields...

     

    0
    Comment actions Permalink
  • Konsta Danyliuk

    Hello Phillip.
    As you also raised a support ticket for this query, I will be replying via that channel.

    0
    Comment actions Permalink
  • Sherry Miller

    Please add the solution here for the benefit of others. 

    Thanks!

    1
    Comment actions Permalink
  • Brian Junio

    Sherry, 

    Hello!

    The solution provided was a workaround to address some specific concerns when creating many Datalinks against a target database with various schemas. 

    At this time Datameer does not offer a means of forcing "accept empty" as a default option for all included columns.  There are two workarounds for making this adjustment.

    The first is a manual intervention in the form of opening the Datalink from the GUI and loading the "Define Fields" section.  From there you will be required to adjust the "accept empty" option for each applicable column.  

    The second option will be to create a script that will first read the schema of the target table, populate the "fields" array in the JSON payload with all of the column names, and finally add the "accept empty" option under each.  Then you can use this updated JSON to create a Datalink containing the desired configuration.  

    Cheers!

    0
    Comment actions Permalink

Please sign in to leave a comment.