You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ambari.apache.org by Nitiraj Rathore <ni...@gmail.com> on 2016/02/15 13:24:09 UTC
Review Request 43575: Hive View: Upload table should support XML and
JSON and storage type ORC
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/43575/
-----------------------------------------------------------
Review request for Ambari, DIPAYAN BHOWMICK, Pallav Kulshreshtha, Srimanth Gunturi, and Yusaku Sako.
Bugs: AMBARI-15046
https://issues.apache.org/jira/browse/AMBARI-15046
Repository: ambari
Description
-------
Support added to the file upload feature for the following:
upload table format now supports JSON/XML/CSV format
File source can be local upload or HDFS
Internal Hive storage type of ORC and others should be supported, with ORC as default.
Following is the workflow
1. user selects upload source Local / HDFS
2. user selects the input file format CSV/JSON/XML
3. if local then he uploads the file else enters the HDFS file path.
4. the file is partially read from browser or HDFS.
5. preview is generated using Parsers
6. user enters database,tablename,table column names,column types, precision and scale and hive storage type as per requirement.
7. user clicks on Upload table button.
8. actual table (user selected hive storage format) and temporary table (Stored as CSV) are created.
9. the file is again read from browser or HDFS stream and JSON/XML streams are converted to CSV streams.
In case of HDFS upload + CSV format + isFirstRowHeader == false, hive's LOAD DATA INPATH statement is used instead of re-reading the stream.
10. this stream is uploaded into the temporary table.
11. insert from temporary table to actual table is executed.
12. on success the temporary table is deleted and workflow completes.
Added in this patch:
Parsing :
org/apache/ambari/view/hive/resources/uploads/parsers : contains parser for CSV/JSON and XML
apache commons CSV parser is used for CSV.
gson JsonReader is used for JSON
and XMLEventReader of javax for XML stream parsing. The registered parser will automatically be used.
All parsers ultimately create Iterators for iterating through the rows of the table.
Data in Iterator is converted into CSV stream using TableDataReader so as to upload it into HDFS
QueryGenerator.java has simple methods for generating various hive queries.
UploadService.java provides the complete REST interface. whole workflow is UI driven and the server is stateless.
JobService.java : one more REST call is added for finding the status of job "{jobId}/status".
UI:
controller/upload-table.js is the main file which contains most of the code for workflow
upload-table.hbs contains the template.
adapter/upload-table.js contains network call specific code
input-header and radio-button components are added.
Diffs
-----
contrib/views/hive/pom.xml 9f3f1f7
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/client/Row.java 35f216b
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/jobs/JobService.java fd69893
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/jobs/ResultsPaginationController.java 84dec4d
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/CSVParser.java 388cf53
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/ColumnDescriptionImpl.java 50f5036
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/DataParser.java 5f2db55
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/HiveFileType.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/IParser.java c478b70
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/ParseOptions.java 2ec3b1b
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/ParseUtils.java aea370e
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/QueryGenerator.java 98616cf
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/TableDataReader.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/TableInfo.java ed4943d
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/TableInput.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/UploadFromHdfsInput.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/UploadService.java 8b5b851
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/DataParser.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/EndOfDocumentException.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/IParser.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/ParseOptions.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/ParseUtils.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/Parser.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/PreviewData.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/RowIterator.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/RowMapIterator.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/csv/CSVIterator.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/csv/CSVParser.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/json/JSONIterator.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/json/JSONParser.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/xml/XMLIterator.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/xml/XMLParser.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/query/DeleteQueryInput.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/query/InsertFromQueryInput.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/query/LoadQueryInput.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/query/QueryGenerator.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/query/TableInfo.java PRE-CREATION
contrib/views/hive/src/main/resources/ui/hive-web/app/adapters/upload-table.js 6a9c54b
contrib/views/hive/src/main/resources/ui/hive-web/app/components/input-header.js PRE-CREATION
contrib/views/hive/src/main/resources/ui/hive-web/app/components/radio-button.js PRE-CREATION
contrib/views/hive/src/main/resources/ui/hive-web/app/controllers/upload-table.js ab7b934
contrib/views/hive/src/main/resources/ui/hive-web/app/initializers/i18n.js bd0e6e6
contrib/views/hive/src/main/resources/ui/hive-web/app/services/job.js 3a1f82a
contrib/views/hive/src/main/resources/ui/hive-web/app/styles/app.scss 31dafdd
contrib/views/hive/src/main/resources/ui/hive-web/app/templates/components/input-header.hbs PRE-CREATION
contrib/views/hive/src/main/resources/ui/hive-web/app/templates/upload-table.hbs d811e34
contrib/views/hive/src/test/java/org/apache/ambari/view/hive/resources/upload/CSVParserTest.java PRE-CREATION
contrib/views/hive/src/test/java/org/apache/ambari/view/hive/resources/upload/DataParserCSVTest.java PRE-CREATION
contrib/views/hive/src/test/java/org/apache/ambari/view/hive/resources/upload/DataParserJSONTest.java PRE-CREATION
contrib/views/hive/src/test/java/org/apache/ambari/view/hive/resources/upload/DataParserTest.java 3d77d29
contrib/views/hive/src/test/java/org/apache/ambari/view/hive/resources/upload/DataParserXMLTest.java PRE-CREATION
contrib/views/hive/src/test/java/org/apache/ambari/view/hive/resources/upload/JsonParserTest.java PRE-CREATION
contrib/views/hive/src/test/java/org/apache/ambari/view/hive/resources/upload/QueryGeneratorTest.java PRE-CREATION
contrib/views/hive/src/test/java/org/apache/ambari/view/hive/resources/upload/TableDataReaderTest.java PRE-CREATION
contrib/views/hive/src/test/java/org/apache/ambari/view/hive/resources/upload/XMLParserTest.java PRE-CREATION
Diff: https://reviews.apache.org/r/43575/diff/
Testing
-------
Server side Unit test cases added for testing Parsers and TableDataReader.
CSVParserTest.java
DataParserCSVTest.java
DataParserJSONTest.java
DataParserTest.java
DataParserXMLTest.java
JsonParserTest.java
QueryGeneratorTest.java
TableDataReaderTest.java
XMLParserTest.java
Thanks,
Nitiraj Rathore
Re: Review Request 43575: Hive View: Upload table should support XML
and JSON and storage type ORC
Posted by Nitiraj Rathore <ni...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/43575/
-----------------------------------------------------------
(Updated Feb. 25, 2016, 12:07 p.m.)
Review request for Ambari, DIPAYAN BHOWMICK, Pallav Kulshreshtha, Srimanth Gunturi, and Yusaku Sako.
Changes
-------
removed conflict from ResultsPaginationController. Accepted "their" changes.
Bugs: AMBARI-15046
https://issues.apache.org/jira/browse/AMBARI-15046
Repository: ambari
Description
-------
Support added to the file upload feature for the following:
upload table format now supports JSON/XML/CSV format
File source can be local upload or HDFS
Internal Hive storage type of ORC and others should be supported, with ORC as default.
Following is the workflow
1. user selects upload source Local / HDFS
2. user selects the input file format CSV/JSON/XML
3. if local then he uploads the file else enters the HDFS file path.
4. the file is partially read from browser or HDFS.
5. preview is generated using Parsers
6. user enters database,tablename,table column names,column types, precision and scale and hive storage type as per requirement.
7. user clicks on Upload table button.
8. actual table (user selected hive storage format) and temporary table (Stored as CSV) are created.
9. the file is again read from browser or HDFS stream and JSON/XML streams are converted to CSV streams.
In case of HDFS upload + CSV format + isFirstRowHeader == false, hive's LOAD DATA INPATH statement is used instead of re-reading the stream.
10. this stream is uploaded into the temporary table.
11. insert from temporary table to actual table is executed.
12. on success the temporary table is deleted and workflow completes.
Added in this patch:
Parsing :
org/apache/ambari/view/hive/resources/uploads/parsers : contains parser for CSV/JSON and XML
apache commons CSV parser is used for CSV.
gson JsonReader is used for JSON
and XMLEventReader of javax for XML stream parsing. The registered parser will automatically be used.
All parsers ultimately create Iterators for iterating through the rows of the table.
Data in Iterator is converted into CSV stream using TableDataReader so as to upload it into HDFS
QueryGenerator.java has simple methods for generating various hive queries.
UploadService.java provides the complete REST interface. whole workflow is UI driven and the server is stateless.
JobService.java : one more REST call is added for finding the status of job "{jobId}/status".
UI:
controller/upload-table.js is the main file which contains most of the code for workflow
upload-table.hbs contains the template.
adapter/upload-table.js contains network call specific code
input-header and radio-button components are added.
Diffs (updated)
-----
contrib/views/hive/pom.xml 9f3f1f7
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/client/Row.java 35f216b
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/jobs/JobService.java fd69893
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/CSVParser.java 388cf53
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/ColumnDescriptionImpl.java 50f5036
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/DataParser.java 5f2db55
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/HiveFileType.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/IParser.java c478b70
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/ParseOptions.java 2ec3b1b
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/ParseUtils.java aea370e
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/QueryGenerator.java 98616cf
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/TableDataReader.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/TableInfo.java ed4943d
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/TableInput.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/UploadFromHdfsInput.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/UploadService.java 8b5b851
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/DataParser.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/EndOfDocumentException.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/IParser.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/ParseOptions.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/ParseUtils.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/Parser.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/PreviewData.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/RowIterator.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/RowMapIterator.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/csv/CSVIterator.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/csv/CSVParser.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/json/JSONIterator.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/json/JSONParser.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/xml/XMLIterator.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/xml/XMLParser.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/query/DeleteQueryInput.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/query/InsertFromQueryInput.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/query/LoadQueryInput.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/query/QueryGenerator.java PRE-CREATION
contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/query/TableInfo.java PRE-CREATION
contrib/views/hive/src/main/resources/ui/hive-web/app/adapters/upload-table.js 6a9c54b
contrib/views/hive/src/main/resources/ui/hive-web/app/components/input-header.js PRE-CREATION
contrib/views/hive/src/main/resources/ui/hive-web/app/components/radio-button.js PRE-CREATION
contrib/views/hive/src/main/resources/ui/hive-web/app/controllers/upload-table.js ab7b934
contrib/views/hive/src/main/resources/ui/hive-web/app/initializers/i18n.js bd0e6e6
contrib/views/hive/src/main/resources/ui/hive-web/app/services/job.js 3a1f82a
contrib/views/hive/src/main/resources/ui/hive-web/app/styles/app.scss 31dafdd
contrib/views/hive/src/main/resources/ui/hive-web/app/templates/components/input-header.hbs PRE-CREATION
contrib/views/hive/src/main/resources/ui/hive-web/app/templates/upload-table.hbs d811e34
contrib/views/hive/src/test/java/org/apache/ambari/view/hive/resources/upload/CSVParserTest.java PRE-CREATION
contrib/views/hive/src/test/java/org/apache/ambari/view/hive/resources/upload/DataParserCSVTest.java PRE-CREATION
contrib/views/hive/src/test/java/org/apache/ambari/view/hive/resources/upload/DataParserJSONTest.java PRE-CREATION
contrib/views/hive/src/test/java/org/apache/ambari/view/hive/resources/upload/DataParserTest.java 3d77d29
contrib/views/hive/src/test/java/org/apache/ambari/view/hive/resources/upload/DataParserXMLTest.java PRE-CREATION
contrib/views/hive/src/test/java/org/apache/ambari/view/hive/resources/upload/JsonParserTest.java PRE-CREATION
contrib/views/hive/src/test/java/org/apache/ambari/view/hive/resources/upload/QueryGeneratorTest.java PRE-CREATION
contrib/views/hive/src/test/java/org/apache/ambari/view/hive/resources/upload/TableDataReaderTest.java PRE-CREATION
contrib/views/hive/src/test/java/org/apache/ambari/view/hive/resources/upload/XMLParserTest.java PRE-CREATION
Diff: https://reviews.apache.org/r/43575/diff/
Testing
-------
Server side Unit test cases added for testing Parsers and TableDataReader.
CSVParserTest.java
DataParserCSVTest.java
DataParserJSONTest.java
DataParserTest.java
DataParserXMLTest.java
JsonParserTest.java
QueryGeneratorTest.java
TableDataReaderTest.java
XMLParserTest.java
Thanks,
Nitiraj Rathore
Re: Review Request 43575: Hive View: Upload table should support XML
and JSON and storage type ORC
Posted by Srimanth Gunturi <sr...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/43575/#review120158
-----------------------------------------------------------
Ship it!
Ship It!
- Srimanth Gunturi
On Feb. 15, 2016, 12:24 p.m., Nitiraj Rathore wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/43575/
> -----------------------------------------------------------
>
> (Updated Feb. 15, 2016, 12:24 p.m.)
>
>
> Review request for Ambari, DIPAYAN BHOWMICK, Pallav Kulshreshtha, Srimanth Gunturi, and Yusaku Sako.
>
>
> Bugs: AMBARI-15046
> https://issues.apache.org/jira/browse/AMBARI-15046
>
>
> Repository: ambari
>
>
> Description
> -------
>
> Support added to the file upload feature for the following:
> upload table format now supports JSON/XML/CSV format
> File source can be local upload or HDFS
> Internal Hive storage type of ORC and others should be supported, with ORC as default.
>
> Following is the workflow
> 1. user selects upload source Local / HDFS
> 2. user selects the input file format CSV/JSON/XML
> 3. if local then he uploads the file else enters the HDFS file path.
> 4. the file is partially read from browser or HDFS.
> 5. preview is generated using Parsers
> 6. user enters database,tablename,table column names,column types, precision and scale and hive storage type as per requirement.
> 7. user clicks on Upload table button.
> 8. actual table (user selected hive storage format) and temporary table (Stored as CSV) are created.
> 9. the file is again read from browser or HDFS stream and JSON/XML streams are converted to CSV streams.
> In case of HDFS upload + CSV format + isFirstRowHeader == false, hive's LOAD DATA INPATH statement is used instead of re-reading the stream.
> 10. this stream is uploaded into the temporary table.
> 11. insert from temporary table to actual table is executed.
> 12. on success the temporary table is deleted and workflow completes.
>
> Added in this patch:
> Parsing :
> org/apache/ambari/view/hive/resources/uploads/parsers : contains parser for CSV/JSON and XML
> apache commons CSV parser is used for CSV.
> gson JsonReader is used for JSON
> and XMLEventReader of javax for XML stream parsing. The registered parser will automatically be used.
> All parsers ultimately create Iterators for iterating through the rows of the table.
>
> Data in Iterator is converted into CSV stream using TableDataReader so as to upload it into HDFS
>
> QueryGenerator.java has simple methods for generating various hive queries.
>
> UploadService.java provides the complete REST interface. whole workflow is UI driven and the server is stateless.
>
> JobService.java : one more REST call is added for finding the status of job "{jobId}/status".
>
> UI:
> controller/upload-table.js is the main file which contains most of the code for workflow
> upload-table.hbs contains the template.
> adapter/upload-table.js contains network call specific code
> input-header and radio-button components are added.
>
>
> Diffs
> -----
>
> contrib/views/hive/pom.xml 9f3f1f7
> contrib/views/hive/src/main/java/org/apache/ambari/view/hive/client/Row.java 35f216b
> contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/jobs/JobService.java fd69893
> contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/jobs/ResultsPaginationController.java 84dec4d
> contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/CSVParser.java 388cf53
> contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/ColumnDescriptionImpl.java 50f5036
> contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/DataParser.java 5f2db55
> contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/HiveFileType.java PRE-CREATION
> contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/IParser.java c478b70
> contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/ParseOptions.java 2ec3b1b
> contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/ParseUtils.java aea370e
> contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/QueryGenerator.java 98616cf
> contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/TableDataReader.java PRE-CREATION
> contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/TableInfo.java ed4943d
> contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/TableInput.java PRE-CREATION
> contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/UploadFromHdfsInput.java PRE-CREATION
> contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/UploadService.java 8b5b851
> contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/DataParser.java PRE-CREATION
> contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/EndOfDocumentException.java PRE-CREATION
> contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/IParser.java PRE-CREATION
> contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/ParseOptions.java PRE-CREATION
> contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/ParseUtils.java PRE-CREATION
> contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/Parser.java PRE-CREATION
> contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/PreviewData.java PRE-CREATION
> contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/RowIterator.java PRE-CREATION
> contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/RowMapIterator.java PRE-CREATION
> contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/csv/CSVIterator.java PRE-CREATION
> contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/csv/CSVParser.java PRE-CREATION
> contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/json/JSONIterator.java PRE-CREATION
> contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/json/JSONParser.java PRE-CREATION
> contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/xml/XMLIterator.java PRE-CREATION
> contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/parsers/xml/XMLParser.java PRE-CREATION
> contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/query/DeleteQueryInput.java PRE-CREATION
> contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/query/InsertFromQueryInput.java PRE-CREATION
> contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/query/LoadQueryInput.java PRE-CREATION
> contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/query/QueryGenerator.java PRE-CREATION
> contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/uploads/query/TableInfo.java PRE-CREATION
> contrib/views/hive/src/main/resources/ui/hive-web/app/adapters/upload-table.js 6a9c54b
> contrib/views/hive/src/main/resources/ui/hive-web/app/components/input-header.js PRE-CREATION
> contrib/views/hive/src/main/resources/ui/hive-web/app/components/radio-button.js PRE-CREATION
> contrib/views/hive/src/main/resources/ui/hive-web/app/controllers/upload-table.js ab7b934
> contrib/views/hive/src/main/resources/ui/hive-web/app/initializers/i18n.js bd0e6e6
> contrib/views/hive/src/main/resources/ui/hive-web/app/services/job.js 3a1f82a
> contrib/views/hive/src/main/resources/ui/hive-web/app/styles/app.scss 31dafdd
> contrib/views/hive/src/main/resources/ui/hive-web/app/templates/components/input-header.hbs PRE-CREATION
> contrib/views/hive/src/main/resources/ui/hive-web/app/templates/upload-table.hbs d811e34
> contrib/views/hive/src/test/java/org/apache/ambari/view/hive/resources/upload/CSVParserTest.java PRE-CREATION
> contrib/views/hive/src/test/java/org/apache/ambari/view/hive/resources/upload/DataParserCSVTest.java PRE-CREATION
> contrib/views/hive/src/test/java/org/apache/ambari/view/hive/resources/upload/DataParserJSONTest.java PRE-CREATION
> contrib/views/hive/src/test/java/org/apache/ambari/view/hive/resources/upload/DataParserTest.java 3d77d29
> contrib/views/hive/src/test/java/org/apache/ambari/view/hive/resources/upload/DataParserXMLTest.java PRE-CREATION
> contrib/views/hive/src/test/java/org/apache/ambari/view/hive/resources/upload/JsonParserTest.java PRE-CREATION
> contrib/views/hive/src/test/java/org/apache/ambari/view/hive/resources/upload/QueryGeneratorTest.java PRE-CREATION
> contrib/views/hive/src/test/java/org/apache/ambari/view/hive/resources/upload/TableDataReaderTest.java PRE-CREATION
> contrib/views/hive/src/test/java/org/apache/ambari/view/hive/resources/upload/XMLParserTest.java PRE-CREATION
>
> Diff: https://reviews.apache.org/r/43575/diff/
>
>
> Testing
> -------
>
> Server side Unit test cases added for testing Parsers and TableDataReader.
>
> CSVParserTest.java
> DataParserCSVTest.java
> DataParserJSONTest.java
> DataParserTest.java
> DataParserXMLTest.java
> JsonParserTest.java
> QueryGeneratorTest.java
> TableDataReaderTest.java
> XMLParserTest.java
>
>
> Thanks,
>
> Nitiraj Rathore
>
>