...
To see how the JDBC interface can be used, see sample code.
Integration with Pentaho
- Download pentaho report designer from the pentaho website
- Overwrite report-designer.sh with the code provided below.
Code Block #!/bin/sh HADOOP_CORE={{ls $HADOOP_HOME/hadoop-*-core.jar}} CLASSPATH=.:$HADOOP_CORE:$HIVE_HOME/conf for i in ${HIVE_HOME}/lib/*.jar ; do CLASSPATH=$CLASSPATH:$i done CLASSPATH=$CLASSPATH:launcher.jar echo java -XX:MaxPermSize=512m -cp $CLASSPATH -jar launcher.jar java -XX:MaxPermSize=512m -cp $CLASSPATH org.pentaho.commons.launcher.Launcher
- Build and start the hive server with instructions from HiveServer
- Compile and run the hive jdbc client code to load some data (I haven't figured out how to do this in report designer yet). See sample code for loading the data.
- Run the report designer (note step 2)
Code Block $ sh reporter-designer.sh
- Select 'Report Design Wizard'
- select a template - say 'fall template' - next
- create a new data source - JDBC (custom), Generic database
- Provide hive jdbc parameters. Give the connection a name 'hive'.
Code Block URL: jdbc:hive://localhost:10000/default Driver name: org.apache.hadoop.hive.jdbc.HiveDriver Username and password are empty
- Click on 'Test'. The test should succeed
- Edit the query: select 'Sample Query', click edit query, click on the connection 'hive'. create a new query. Write a query on the table testHiveDriverTable: eg: select * from testHiveDriverTable. Click next.
- Layout Step: Add
PageOfPages
to Group Items By. Add key and value as Selected Items. Click next. And Finish. - Change the Report header to 'hive-pentaho-report'. Change the type of the header to 'html'
- Run the report and generate pdf. You should get something like the report attached here.
...