Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

POC of code level optimization recommendation for Hive #618

Open
wants to merge 10 commits into
base: tuning_20190221
Choose a base branch
from

Conversation

pralabhkumar
Copy link
Contributor

@pralabhkumar pralabhkumar commented Aug 7, 2019

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
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
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
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

@@ -331,6 +343,36 @@ public AppResult getAnalysis() throws Exception {

// 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
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
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
Contributor Author

@varunsaxena Can u please review it

@pralabhkumar
Copy link
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