Page tree
Skip to end of metadata
Go to start of metadata

Student work experience opportunities also exist for students who want to suggest their own project idea. Project suggestions must be relevant to HPCC Systems and of benefit to our open source community. 

Find out about the HPCC Systems Summer Internship Program.

The project proposal application period for 2020 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.

Project Description

There are several situations where it would be useful to reverse the order of a dataset. This could be done more efficiently than a sort.  The change would need to cover the following particular cases:

  • inline datasets. (These could generally iterate in reverse, imposing no run time overhead)
  • grouped datasets - reverse just within the group
  • local
  • global.

There is also opportunity for various optimizations - e.g., REVERSE(SORT())->SORT'

More details coming soon.

If you are interested in this project, please contact Gavin Halliday.

Completion of this project involves:

  • Adding the syntax to the language
  • Adding support for a new logical operation
  • Generate the activity helper
  • Add support for grouped and local reverse to all the engines
  • Add support for global reverse to Thor.
  • Implementing REVERSE for an inline dataset operation
  • Investigate what optimizations can be performed

By the mid term review we would expect you to have:

  • Add syntax, and represent a new logical operation 
  • Produce test cases for the different variants
  • A grouped and local variation of the activity implemented in one of the engines.
Mentor

Gavin Halliday
Contact Details

Backup Mentor: TBD
Contact Details

Skills needed
  • <See below some ideas add ones appropriate to the project.>
  • Ability to build and test the HPCC system (guidance will be provided).
  • 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.
  • Ability to develop new code within an existing framework
Deliverables

Midterm

  • <Deliverable(s) to be achieved>

End of project

  • <Deliverables expected by the end of the internship>
Other resources
  • No labels