Step 6: Integrating a "Hello World" Dataset Type

Page Navigation:

Page Navigation:

 

 


Confidence Level TBD  This article has not been reviewed for accuracy, timeliness, or completeness. Check that this information is valid before acting on it.

Confidence Level TBD  This article has not been reviewed for accuracy, timeliness, or completeness. Check that this information is valid before acting on it.

Step 1

In this tutorial, we continue where we left off in integrating our first job type, Hello World. We will update our job type to generate a HySDS dataset that will be automatically ingested and catalogued into the system.

  1. On the mozart instance, navigate to the hello_world repository

    cd ~/mozart/ops/hello_world
  2. We need to author a dataset ID scheme according to the HySDS dataset specification. In this tutorial, we will use the following dataset ID scheme

    hello_world-product-<year><month><day>T<hour><minute><second>Z-<hash>

    where <year> will be replaced by a fictional observation year and likewise for <month><day><hour><minute><second> and <hash>. An example instance of this dataset ID would be

    hello_world-product-20170901T000102.021Z-a3d0x
  3. Edit the script that runs our job type

    and add code to create an instance of our dataset. The script should look like this

    N.B. In production, the hash should be generated from the input parameters (or simply the contents of _context.json), for deduplication purposes. The required fields are:

    • version

    The optional fields are:

    • label

    • location (in GeoJSON "geometry" format)

    • starttime

    • endtime

  4. Access the documentation on the specifications for the HySDS dataset JSON file and metadata JSON file for more detail. Finally, commit your change and push the update

    If your jenkins job for the master branch of your hello_world repo was configured correctly, the git push should have kicked off a rebuild of the container. If not, navigate to your ciinstance (e.g. http://:8080) and manually schedule a build

  5. Test the script by running it

    You should see the dataset directory you just created sitting there in your directory. Ensure that the fake_data.dat and the HySDS dataset and metadata JSON files were generated

  6. Now let's try to ingest this new dataset into our catalog

    You should've gotten an error that the data was not recognized

  7. Let's configure our new dataset so that it can be recognized by our HySDS cluster. Since we want to ensure all nodes in our cluster is able to recognize this new dataset, we need to make updates to the datasets.json file in ~/.sds/files. Still on mozart

    edit the datasets.json file

    and add the following dataset configuration below the dumby-product configuration

    and save.

  8. Run the following fabric command to push the update you made to the datasets.jsontemplate on mozart

    You should have output similar to the following

  9. Now let's try to ingest this new dataset into our catalog

  10. Verify that your new dataset was published to your HySDS cluster. Open up a browser and point it to your grq instance's tosca (Dataset FacetSearch) interface (e.g. https:///search). On the left panel you should see your new dataset type listed under the "dataset" facet showing 1 result

    Click on "hello_world-product" under the "dataset" facet and your result set should be constrained now to just the dataset you just ingested

  11. Now that we've verified that the new dataset is recognized by the system, let's push the updates to the rest of the system. On mozart

That's it!

Congratulations, you've integrated a new dataset type into your HySDS cluster.

To configure Autoscaling groups for your HySDS cluster, continue on to Create-AWS-Autoscaling-Group-for-Verdi.

To configure a staging area for your HySDS cluster, continue on to Create-AWS-Resources-for-Staging-Area.


Related Articles:

Related Articles:

Have Questions? Ask a HySDS Developer:

Anyone can join our public Slack channel to learn more about HySDS. JPL employees can join #HySDS-Community

JPLers can also ask HySDS questions at Stack Overflow Enterprise

Search HySDS Wiki

Page Information:

Page Information:

Was this page useful?

Yes No

Contribution History:

Subject Matter Expert:

@Hook Hua

@Gerald Manipon

Find an Error?

Is this document outdated or inaccurate? Please contact the assigned Page Maintainer:

@Lan Dang

Note: JPL employees can also get answers to HySDS questions at Stack Overflow Enterprise: