Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This project

is available as a student work experience opportunity with HPCC Systems this summer. Curious about other projects we are offering? Take a look at our Ideas List

Find out about the HPCC Systems Summer Internship Program.

The project proposal application period for 2019 summer internships is now open. Please see our list of Available Projects. Contact the project mentor for more information and to discuss your ideas. You may suggest a project idea of your own but it must leverage HPCC Systems in some way. Contact us for support from an HPCC Systems mentor with experience in your chosen project area.

was completed by Jack Del Vecchio during the 2022 intern program.
See her poster showcasing his work

Project Description

The HPCC Systems platform currently supports embedding Python, Java, Javascript, R, MySQL and C++ and Cassandra code.The goal of this project is to support MongoDB by allowing the embedding of MongoDB database queries within ECL code running on HPCC Systems.

...

  • Implemented a simple example that passes and returns scalar values (which are usually much simpler than passing/returning structures).

...

Mentor

Dan Camper
Contact Details

...

Skills needed
  • Ability to code in C++.
  • Ability to build and test the HPCC system (guidance will be provided).
  • Knowledge of MongoDB sufficient to write and run test cases.
  • Ability to write test code. Knowledge of ECL is not a requirement since it should be possible to re-use existing code with minimal changes for this purpose. Links are provided below to our ECL training documentation and online courses should you wish to become familiar with the ECL  language.
Deliverables

Midterm

  • A simple example that passes and returns scalar values.

End of project

  • A plugin that supports interfacing to MongoDB from ECL, that will implement the ECL embedded language API and make calls to MongoDB embedded via its C/C++ api (assuming it has one!).
  • Test cases demonstrating the correct behaviour and performance of the plugin.
  • Documentation of how datatypes and structures in ECL are mapped to MongoDB.
Other resources