zacblanco / hdp-demo-bootstrap Goto Github PK
View Code? Open in Web Editor NEWA framework for deploying demo apps on Hortonworks Sandbox
Home Page: http://hortonworks.com
A framework for deploying demo apps on Hortonworks Sandbox
Home Page: http://hortonworks.com
To be able to make a demo work on multiple platforms (sandbox and cluster) it would be ideal to have the bootstrap structured as an Ambari service
This provides the following functions:
Add in the custom data generator
It would be useful to read a JSON string directly for the data generator, rather than always reading from a file.
I'm adding a way to simply create a JSON object from a string if a file isn't found.
Need a python function to read a config file
ConfigParser
On clusters we may need to install the 'hdp-select' package provided by Hortonworks.
We'll need to find a way to instal this package on CentOS/RHEL Systems
Possibly in the future we can look at Ubuntu systems.
It would be useful to provide some kind of documentation on the features that are already currently implemented so others (if they end up writing custom scripts) could utilize the features to their fullest extent
Documentation would also allow the project to continue on and help others contribute as well.
It is possible to execute shell commands via something like
import subprocess
subprocess.Popen('command')
We can also retrieve the output from the command by subprocess..Popen('command', stdout=subprocess.PIPE)
To retrieve output simply
output = subprocess.communicate()
http://stackoverflow.com/questions/4256107/running-bash-commands-in-python
https://docs.python.org/2/library/subprocess.html
The purpose of this module is to provide a kind of wrapper around the subprocess to make it simpler to call different functions and wrap up the necessary functionality in just a few function
Python recommends subprocess32 (a backport form python 3 of a new subprocess module)
Issue to track progress on this feature.
We want to be able to (based on the given config)
Possibly integrate Ali's NiFi service (or create my own)
Pretty simple but it would be really handy to be able to build up Hive and Spark statements based on the data generator's config.
This way it's easy to instantly create Spark and Hive Tables. The user just need to copy/paste and run the queries.
Given an existing Zeppelin install on a cluster:
Provide an interface for interacting with an Ambari instance
Given an existing Sandbox or standing cluster:
In order to mimic the same things that vakshorton's demos are able to do I figured it would be best to add a way to stop/start/restart services in Ambari.
The aim is to eventually python-ize the functions in his install.sh
and startDemoServices.sh
scripts
Given a directory for NiFi templates:
I want the docs for demo_utils to be more maintainable. It would also be nice if I could document the functions inside of the demo-files as well
I think sphinx does a good job at this. I just need to work out the details. POC is working locally.
Hopefully this would make the package somewhat more maintainable
Also adding the ability to search is pretty valuable.
Need to clean up some of the coverage on the modules that have been modified. (Ambari and Logs)
Need to add the NiFi repo as a submodule so we can use it to install the NiFi service.
See:
Logging should be essential to the install process. Need to find a good way to add it in and make it configurable.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.