-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/39980/
-----------------------------------------------------------

Review request for Ambari, Srimanth Gunturi, Sid Wagle, and Yusaku Sako.


Bugs: AMBARI-13747
    https://issues.apache.org/jira/browse/AMBARI-13747


Repository: ambari


Description
-------

Hive View should have a widget to:
Create/Choose a database and create a table inside it
Create table using a delimited (such as CSV) file from HDFS or local file system
Discover column names if it has a header
Discover suggested data types
Create a table with a given name
Optionally create an internal table that is ORC by default

Implementation Steps :
User uploads a CSV file. 
Server reads the input stream and without saving parses it to generate preview 
rows and detect datatypes of columns
Server sends table info to the UI.
User can change column names and datatypes and submits table info.
Server creates a table using hive job, and returns job info back.
UI keeps looping for job success.
On Job success UI sends the same file again.
If required the file’s columns are extracted and rest of the input stream is 
given to the HDFS Api for uploading to the hive metastore.
Server returns success or exception.

Changes : 
ColumnDescription : added enum for hive data types.?
ConnectionFactory : Added HdfsApi for connection to HDFS.
package.json : added dependency ember-cli-uploader
bower.json : added dependency ember-uploader": "0.3.9"
view.xml : added resource upload for UploadService

Additions :
  resources/uploads: new packages for upload related classes
        ColumnDescriptionImpl : another impl ColumnDescription for better 
handling of data
        IParser : Interface for parsers
        DataParser : Decorator Parser for hiding internal impls.
        CSVParser : for parsing CSV using apache commons-csv
        QueryGenerator : class for generating HQL query from given inputs.
        UploadService : REST interface for front end
        
        DataParserTest : the test case class for DataParser.

        UI
         router.js : added route /upload-table

        /app/adapters : 
                file-upload : ember uploader customized
                upload-table : adapter for REST calls
        
        /controllers : 
                 upload-table : controller for handling all activities in 
Upload Table tab
                
        /templates : 
                upload-table : template for UI on Upload Tables tab

Minor changes :
        Row : added equals and hashcode toString
        ParseOptions : Parsing options to be passed to parser
        ParseUtils : Utility class
        TableInfo : Input to QueryGenerator’s method
  UI
        file-upload
        navbar-widget : now includes one more tab for upload table
        i18n.js : added constants
        app.scss : minor change
        constants.js : added constants


Diffs
-----

  
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/client/ColumnDescription.java
 d7ea560 
  
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/client/ConnectionFactory.java
 82ac1f5 
  contrib/views/hive/src/main/java/org/apache/ambari/view/hive/client/Row.java 
306530a 
  
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/CSVParser.java
 PRE-CREATION 
  
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/ColumnDescriptionImpl.java
 PRE-CREATION 
  
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/DataParser.java
 PRE-CREATION 
  
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/IParser.java
 PRE-CREATION 
  
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/ParseOptions.java
 PRE-CREATION 
  
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/ParseUtils.java
 PRE-CREATION 
  
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/QueryGenerator.java
 PRE-CREATION 
  
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/TableInfo.java
 PRE-CREATION 
  
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/UploadService.java
 PRE-CREATION 
  contrib/views/hive/src/main/resources/ui/hive-web/app/adapters/file-upload.js 
PRE-CREATION 
  
contrib/views/hive/src/main/resources/ui/hive-web/app/adapters/upload-table.js 
PRE-CREATION 
  
contrib/views/hive/src/main/resources/ui/hive-web/app/components/file-upload.js 
PRE-CREATION 
  
contrib/views/hive/src/main/resources/ui/hive-web/app/components/navbar-widget.js
 c3659cf 
  
contrib/views/hive/src/main/resources/ui/hive-web/app/controllers/upload-table.js
 PRE-CREATION 
  contrib/views/hive/src/main/resources/ui/hive-web/app/initializers/i18n.js 
5ae9b7e 
  contrib/views/hive/src/main/resources/ui/hive-web/app/router.js 5a51b11 
  contrib/views/hive/src/main/resources/ui/hive-web/app/styles/app.scss bf271c4 
  
contrib/views/hive/src/main/resources/ui/hive-web/app/templates/upload-table.hbs
 PRE-CREATION 
  contrib/views/hive/src/main/resources/ui/hive-web/app/utils/constants.js 
a349d51 
  contrib/views/hive/src/main/resources/ui/hive-web/bower.json d43881f 
  contrib/views/hive/src/main/resources/ui/hive-web/package.json 6ecdcb6 
  contrib/views/hive/src/main/resources/view.xml fdc32d7 
  
contrib/views/hive/src/test/java/org/apache/ambari/view/hive/resources/upload/DataParserTest.java
 PRE-CREATION 

Diff: https://reviews.apache.org/r/39980/diff/


Testing
-------

DataParserTest added for testing the functionality of DataParser class.
Manual testing of overall feature, including file uploads in HDFS.


Thanks,

Nitiraj Rathore

Reply via email to