Skip to content

POC of code level optimization recommendation for Hive#618

Open
pralabhkumar wants to merge 10 commits into
linkedin:tuning_20190221from
pralabhkumar:poc_code_level_optimization
Open

POC of code level optimization recommendation for Hive#618
pralabhkumar wants to merge 10 commits into
linkedin:tuning_20190221from
pralabhkumar:poc_code_level_optimization

Conversation

@pralabhkumar

@pralabhkumar pralabhkumar commented Aug 7, 2019

Copy link
Copy Markdown
Contributor

This PR is to add the code level optimization recommendation(as Heuristics) to Dr Elephant. This PR is specifically for Hive . For more details , please see the following design doc .

Design Doc

Testing
unit test cases are written and End to End testing is done on EI .

@pralabhkumar pralabhkumar changed the title First Version (MVP) of code level optimization for Hive POC of code level optimization for Hive Aug 7, 2019
import org.codehaus.jettison.json.JSONObject;


public class AzkabanJarvisCodeExtractor implements CodeExtractor {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Jarvis is internal to LinkedIn. This should not go to open source ideally. Definitely the URL should be in config.
Can we modify it as a JSON code fetcher where the hierarchy of which node to fetch can be configured.
Or move this code to internal repo.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Moved URL to configuration

@@ -0,0 +1,121 @@
package com.linkedin.drelephant.analysis.code.impl;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add file header here and elsewhere


// Retrieve information from job configuration like scheduler information and store them into result.
InfoExtractor.loadInfo(result, data);
if (result.queueName.toLowerCase().equals("ump_normal") || result.queueName.toLowerCase().equals("ump_hp")) {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Giving out internal queue configuration. At a minimum make this configurable. Better model the conditional execution as an interface? Applies elsewhere too

@pralabhkumar

Copy link
Copy Markdown
Contributor Author

@varunsaxena As mentioned in the description , this is still work in progress . Please don't review it now , as there will be considerable changes in the PR

@pralabhkumar pralabhkumar changed the title POC of code level optimization for Hive POC of code level optimization recommendation for Hive Aug 20, 2019
@pralabhkumar

Copy link
Copy Markdown
Contributor Author

@varunsaxena Can u please review it

@pralabhkumar

Copy link
Copy Markdown
Contributor Author

@mkumar1984 Please review the same

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants