<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>A Blog about QlikView Data Integration</description><title>TIQView Blog</title><generator>Tumblr (3.0; @tiqview)</generator><link>http://tiqview.tumblr.com/</link><item><title>Using Impala for Self Service BI</title><description>&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span&gt;The Situation&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;Large amounts of daily delivered raw data lead into a constantly increasing load and transformation time in enterprise data warehouse environments realized with classical databases. In a current client project (telco) we encounter the problem that it already exceeds the daily processing timeframe and can only be handled by dropping older data every day. Also, ad hoc queries will take hours even on optimized R-OLAP models with daily partitioning and bitmap indexing (Oracle in this case) which will prevent users from doing self service analysis. The assumption is to replace the classical database with a Hadoop cluster to provide adequate load and query time for a large growing (maybe unlimited) data set.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span&gt;The Use Case&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;raw data from multiple delivery systems as csv files&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;time slots (granularity 15 minutes) as partition criteria&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;long term inspection within big data (one source data amount per day: 400 million rows, 120&amp;#160;GB volume, 96 partitions )&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;possibility to create &amp;#8216;free&amp;#8217; ad hoc queries through a well know query language (SQL)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;JDBC drivers to use raw data with third party tools like SQuirrel or QlikView&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;extraction of data sets with more than 1 million rows for further in-memory analysis&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span&gt;Our Decision for Hadoop and Hive / Impala &lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;span&gt;Hadoop HDFS can store an unlimited amount of data&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;massive parallel processing through unlimited amount of nodes&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Hive query language (HQL) as SQL dialect with less learning&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Hive meta store for schema definition, used by Impala&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;improved query performance through Impala (omit Map/Reduce overhead and job execution sequence)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Capex and Opex (this would fill a long thread indeed..)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span&gt;Pitfalls and Experiences&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;The transforming of an existing table into a partitioned one may be complicated by the limitation of Hive partitions and memory space. We tried to import 3 days (96 slices by 15 minutes per day) with time slots and device ids as partition and sub-partition criteria which would create about 14,400,000 partitions (3 * 96 * 50,000).&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;If one partition criteria equals to a column in the csv file you must either transform this file during import to remove this column or be careful to use the right one in your select to get Impala not to scan the whole table.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;As Impala 0.6 does not support timestamp or date types you have to store the time as a big integer (eg. Unix epoche). Also there is no chance to create a where clause with human readable (literal) date and time values. You would need to use Hive function unix_timestamp but this would omit the use of partitions.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/Impala_Partitioning.jpg" title="Impala Partitioning" target="_self"&gt;&lt;img alt="Impala Partitioning" src="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/Impala_Partitioning.jpg" width="420"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;Also be careful on querying multiple partitions with an &amp;#8216;or&amp;#8217; conjunction. It does not use the partitions any more, you have to transfer your query into a form like &amp;#8216;select … where condition1 union all select … where condition2&amp;#8217;.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span&gt;Conclusion&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;We have set up an 8 node Hadoop cluster with Cloudera distribution CDH 4.2 over Cloudera Manager 4.5 and Impala 0.6. The node hardware configuration is:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;span&gt;4 x 3.3&amp;#160;GHz Intel Xeon E3-1230v2 (Ivy Bridge)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;16&amp;#160;GB RAM&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;2 x 1,000&amp;#160;GB RAID 1&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p class="MsoNormal"&gt;&lt;span&gt;We have loaded three days of raw data from one source:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;span&gt;20,832 files&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;1.2 billion records&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;370&amp;#160;GB file size in total&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;289 partitions&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p class="MsoNormal"&gt;&lt;span&gt;Typical analysis query:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;extract raw data slice of 3 hrs per day (for the given 3 days) for one dimension (device), maybe additional filter conditions&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p class="MsoNormal"&gt;&lt;span&gt;Query execution time including transport of result set to client application via JDBC:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;span&gt;classical database: some hrs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Cloudera Impala: &amp;lt; 2 min&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;a href="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/Impala_QlikView.png" title="Impala QlikView Self Service BI" target="_self"&gt;&lt;img alt="Impala QlikView Self Service BI" src="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/Impala_QlikView.png" width="420"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;These results are based on Impala 0.6; Impala 0.7 contains several improvements to consider in the next steps..&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span&gt;One more thing..&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;As we noticed the Apache Thrift project used by Hive and Impala for communication between client and server has deficits on transporting big data volumes. We are currently working on a solution (eg. JDBC driver) which will bypass the protocol on large result sets.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;</description><link>http://tiqview.tumblr.com/post/48628774462</link><guid>http://tiqview.tumblr.com/post/48628774462</guid><pubDate>Mon, 22 Apr 2013 21:16:00 +0200</pubDate><category>cloudera</category><category>impala</category><category>qlikview</category><category>selfservice</category><category>bi</category><category>bigdata</category><category>hadoop</category></item><item><title>Going Qonnections 2013?</title><description>&lt;p&gt;Hi Folks,&lt;/p&gt;
&lt;p&gt;&lt;span&gt;it&amp;#8217;s only 4.5 weeks to Qonnections 2013. &lt;/span&gt;As in the last two years I release my QlikView &lt;a href="http://www.qlikview.com/us/landing/qonnections-2013" title="Qonnections 2013" target="_blank"&gt;Qonnections&lt;/a&gt; application &amp;#8220;QonnView&amp;#8221; with the actual Qonnections Session schedule, the Twitter search, a Bahamas Weather Forecast and NAS Flight Information:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://bit.ly/10czv9e" title="download QonnView2013" target="_blank"&gt;Download QonnView2013.zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/QonnView2013.png" title="QonnView2013 screenshot" target="_self"&gt;&lt;img alt="QonnView2013 screenshot" src="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/QonnView2013.png" width="420"/&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;QonnView 2013 now comes with a Gantt chart for better session planning.. &lt;br/&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Hope to see you over there. Have fun on &lt;a href="http://www.atlantis.com/default.aspx" title="Atlantis Hotel Paradise Island" target="_blank"&gt;Paradise Island&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;&lt;span&gt;- Ralf&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;</description><link>http://tiqview.tumblr.com/post/44793276485</link><guid>http://tiqview.tumblr.com/post/44793276485</guid><pubDate>Thu, 07 Mar 2013 18:58:00 +0100</pubDate><category>qlikview</category><category>qonnections</category><category>qonnections2013</category><category>bahamas</category></item><item><title>QVD Converter - Create and Process QlikView Data Files everywhere</title><description>&lt;p&gt;The QVD Converter is a reusable Java library from TIQ Solutions. The library enables Java applications to create and process QlikView data files (QVD format) from any size independently (e.g.. in Unix environments).&lt;/p&gt;
&lt;p&gt;&lt;img alt="image" src="http://media.tumblr.com/5f4f9f020ca31a6736eab25590b571ae/tumblr_inline_mi0vfkLxSd1qz4rgp.png"/&gt;&lt;/p&gt;
&lt;p&gt;The offered Java classes can be used directly in any Java implementation (via import) and are a useful starting point for the development of plug-ins for ETL tools like Pentaho Kettle. With this, QlikView data files are integratable in any data integration process.&lt;/p&gt;
&lt;p&gt;&lt;img alt="image" src="http://media.tumblr.com/685cd1624b80ec48833b394c1488c5a8/tumblr_inline_mi0vgiMySu1qz4rgp.jpg"/&gt;&lt;/p&gt;
&lt;p&gt;At this moment, TIQ Solutions develops a QVD JDBC driver based on the QVDReader class. This JDBC driver will make QlikView QVD data files available as queryable SQL data sources for a broad range of applications implementing the JDBC standard.&lt;/p&gt;
&lt;p&gt;Read more about it on TIQ Solutions QVD Converter website:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.tiq-solutions.de/display/enghome/QVD+Converter" title="QVD Converter" target="_blank"&gt; &lt;a href="http://www.tiq-solutions.de/display/enghome/QVD+Converter" target="_blank"&gt;http://www.tiq-solutions.de/display/enghome/QVD+Converter&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I&amp;#8217;ve pushed my latest QVDReader examples on GitHub:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/ralfbecher/QlikView_QVDReader_Examples" title="QVDReader examples" target="_blank"&gt;&lt;a href="https://github.com/ralfbecher/QlikView_QVDReader_Examples" target="_blank"&gt;https://github.com/ralfbecher/QlikView_QVDReader_Examples&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update: &lt;/strong&gt;I&amp;#8217;v added new features for version 1.3:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;select a subset of fields, skip unwanted data (in preparation for QVD JDBC driver and for better performance)&lt;/li&gt;
&lt;li&gt;cache of last records symbol values to prevent lookups (performance)&lt;/li&gt;
&lt;li&gt;more example applications for batch processing (e.g. search over a bunch of QVD files with wildcards for files and search pattern)&lt;/li&gt;
&lt;/ul&gt;</description><link>http://tiqview.tumblr.com/post/42781254828</link><guid>http://tiqview.tumblr.com/post/42781254828</guid><pubDate>Sun, 10 Feb 2013 21:57:00 +0100</pubDate><category>qlikview</category><category>qvd</category><category>data</category><category>java</category><category>integration</category><category>library</category><category>qvdreader</category><category>qvdwriter</category><category>qvdconverter</category><category>bigdata</category></item><item><title>Graph Data Visualization in QlikView</title><description>&lt;p&gt;Since I wrote the post about &amp;#8220;&lt;a href="http://tiqview.tumblr.com/post/24953750981/working-with-graph-data-from-neo4j-in-qlikview" title="Working with Graph Data from Neo4j in QlikView" target="_self"&gt;Working with Graph Data from Neo4j in QlikView&lt;/a&gt;&amp;#8221; here I had the idea in mind to develop a QlikView Extension Object do replace the static Google Chart API graph display I used in the example application.&lt;/p&gt;
&lt;p&gt;Now I&amp;#8217;ve finished a first version of an extension using the Graph Dracula JavaScript Library (based on &lt;a href="http://raphaeljs.com/" title="Raphaël" target="_blank"&gt;Raphaël.js&lt;/a&gt;): &lt;a href="http://www.graphdracula.net" title="Graph Dracula JavaScript Library" target="_blank"&gt;&lt;a href="http://www.graphdracula.net" target="_blank"&gt;http://www.graphdracula.net&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Here are a few impressions:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/TIQ_Graph_Dracula_01.png" title="TIQ Graph Dracula screenshot 1" target="_self"&gt;&lt;img alt="TIQ Graph Dracula screenshot 1" src="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/TIQ_Graph_Dracula_01.png" width="420"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/TIQ_Graph_Dracula_02.png" title="TIQ Graph Dracula screenshot 2" target="_self"&gt;&lt;img alt="TIQ Graph Dracula screenshot 2" src="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/TIQ_Graph_Dracula_02.png" width="420"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You can download the extension and QlikView demo application &lt;a href="http://bit.ly/11ETtNU" title="download example TIQ Graph Dracula" target="_self"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I will do some further developments in the future related to QlikView graph data integration because I think relational data structures and models will disappear in the future. Reality is different than a table..&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.tiq-solutions.com" title="TIQ Solutions, Leipzig, Germany" target="_blank"&gt;TIQ Solutions&lt;/a&gt; will provide professional services in this realm, also development and customization of QlikView extension objects.&lt;/p&gt;</description><link>http://tiqview.tumblr.com/post/42292909758</link><guid>http://tiqview.tumblr.com/post/42292909758</guid><pubDate>Mon, 04 Feb 2013 21:17:00 +0100</pubDate><category>qlikview</category><category>neo4j</category><category>graph</category><category>extension</category><category>visualization</category><category>nosql</category><category>bigdata</category></item><item><title>Our new QlikView JDBC Datasource: Kx Kdb+</title><description>&lt;p&gt;As we&amp;#8217;ve got an inquiry from a finance institute recently if our &lt;a href="http://bit.ly/A98Sdi" title="QlikView JDBC Connector" target="_blank"&gt;QlikView JDBC Connector&lt;/a&gt; is providing connectivity for &lt;a href="http://kx.com" title="Kx Systems" target="_blank"&gt;Kx Systems&lt;/a&gt; number cruncher &lt;a href="http://kx.com/kdb-plus.php" title="KDB+" target="_blank"&gt;Kdb+&lt;/a&gt; we&amp;#8217;ve started to develop a test case and came to the result that it&amp;#8217;s working pretty well.&lt;/p&gt;
&lt;p&gt;We provide an adapted JDBC driver for Kdb+ and we will improve the integration with out QlikView connector. You can download our Kx JDBC driver &lt;a href="http://bit.ly/UOy1hW" title="Kx JDBC Driver" target="_blank"&gt;here&lt;/a&gt; to try by your own.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; The new version of our QlikView JDBC Connector (v2) will work with the standard Kx JDBC driver, our patch is not needed anymore.&lt;/p&gt;
&lt;p class="MsoPlainText"&gt;You also can process &amp;#8216;q&amp;#8217; code in the QlikView load script thru the JDBC connection. Since &amp;#8216;q&amp;#8217; code can contain embedded semicolons and other special symbols, just set the string into a variable and then execute it like:&lt;/p&gt;
&lt;p class="MsoPlainText"&gt;&lt;strong&gt;   SQL $(qSQL);&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Btw. this is the new list of actual working JDBC data sources for QlikView:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Hadoop HDFS and Hive (Cloudera, MapR, Amazon EMR)&lt;/li&gt;
&lt;li&gt;Cloudera Impala (via Beeswax API)&lt;/li&gt;
&lt;li&gt;SAP HANA&lt;/li&gt;
&lt;li&gt;SAP ERP/BW (via SAP JCo)&lt;/li&gt;
&lt;li&gt;Kx Systems Kdb+&lt;/li&gt;
&lt;li&gt;Microsoft Windows SQL Azure&lt;/li&gt;
&lt;li&gt;Google Cloud SQL&lt;/li&gt;
&lt;li&gt;Neo4j Graph Database&lt;/li&gt;
&lt;li&gt;Apache Derby / Java DB&lt;/li&gt;
&lt;li&gt;encrypted CSV files&lt;/li&gt;
&lt;li&gt;COBOL files&lt;/li&gt;
&lt;li&gt;Pentaho Kettle Transformation Steps&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;For the most of them no alternative connectivity solution is provided for QlikView.&lt;/p&gt;</description><link>http://tiqview.tumblr.com/post/40636128823</link><guid>http://tiqview.tumblr.com/post/40636128823</guid><pubDate>Wed, 16 Jan 2013 00:48:00 +0100</pubDate><category>jdbc</category><category>qlikview</category><category>kdb</category><category>kdb+</category><category>kx</category><category>kxsystems</category><category>finance</category><category>dataintegration</category><category>nosql</category></item><item><title>Connect QlikView to SAP HANA, easily!</title><description>&lt;p&gt;SAP HANA comes with an ODBC driver which would be the first choice if you&amp;#8217;re working with QlikView. But, somehow the CONNECT statement in the QlikView script leads into a ODBC Connect popup window which cannot suppressed:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/SAP_HANA_ODBC_QlikView.png" title="SAP HANA ODBC Problem" target="_self"&gt;&lt;img alt="SAP HANA ODBC Problem" src="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/SAP_HANA_ODBC_QlikView.png" width="420"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This could prevent an automatically data load on a QlikView server.&lt;/p&gt;
&lt;p&gt;Fortunately we can use the SAP HANA JDBC driver which works great to bypass this behavior. The installation and configuration is simple:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/JDBCConfig_SAP_HANA.png" title="JDBC Config SAP HANA" target="_self"&gt;&lt;img alt="JDBC Config SAP HANA" src="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/JDBCConfig_SAP_HANA.png" width="420"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The JDBC connect string looks like this:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;jdbc:sap://&amp;lt;database_computer&amp;gt;[:&amp;lt;port&amp;gt;][/?&amp;lt;option1&amp;gt;[&amp;amp;&amp;lt;option2&amp;gt;]&amp;#8230;]&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;After the connect we can fire SQL queries in the QlikView load script. And, the JDBC driver has an additional benefit: all decimal columns have to be casted to double if you work with ODBC, else they would return only NULL:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;SELECT cast(&amp;lt;colum_name&amp;gt; as double) AS field_name &amp;#8230;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This is not needed with the JDBC driver! Everything works just fine. You can even use SELECT * FROM&amp;#8230;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; I&amp;#8217;ve heared that there is a problem using SAP HANA analytical views with the ODBC driver. There is no limitation with the JDBC driver. You can access all objects types.&lt;/p&gt;
&lt;p&gt;I have built a SAP HANA schema viewer in QlikView to create select statements from analytical views which get not shown inside the QlikView select dialog. This makes it easy to create select statements for QlikView script:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/SAP_HANA_Schema_Viewer.png" title="SAP HANA Schema Viewer" target="_self"&gt;&lt;img alt="SAP HANA Schema Viewer" src="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/SAP_HANA_Schema_Viewer.png" width="420"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update 2:&lt;/strong&gt; Our first test with QlikView Direct Discovery (comes with QlikView version 11.2) on SAP HANA using JDBC connect has shown very impressive query result times on analytical views. &lt;span class="short_text" id="result_box"&gt;&lt;span class="hps"&gt;According to QlikTech this&lt;/span&gt;&lt;span class="hps"&gt;&lt;/span&gt; &lt;span class="hps"&gt;is&lt;/span&gt; &lt;span class="hps"&gt;not possible with ODBC.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="short_text"&gt;&lt;span class="hps"&gt;QlikView Direct Discovery and SAP HANA is a good combination. Amazing to see how fast in 1-2 seconds! HANA executes aggregations (and all other SQL statements behind QlikView&amp;#8217;s Direct Discovery) on this big amount of records (148M records in my test case):&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/SAP_HANA_DIRECT_DISCOVERY.png" title="SAP HANA Direct Discovery" target="_self"&gt;&lt;span class="short_text"&gt;&lt;span class="hps"&gt;&lt;img alt="SAP HANA Direct Discovery" src="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/SAP_HANA_DIRECT_DISCOVERY.png" width="420"/&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Where SAP HANA (as a backend) is maybe the fastest SQL database on the market, it integrates seamless with QlikView&amp;#8217;s Direct Discovery because the response time is similar to QlikView! So, the user experience is same as it would be a QlikView application without Direct Discovery.&lt;/p&gt;
&lt;p&gt;Here&amp;#8217;s a short screencast covering this blog post:&lt;/p&gt;
&lt;p&gt;&lt;iframe frameborder="0" height="315" src="http://www.youtube.com/embed/rT63abPKJZY" width="420"&gt;&lt;/iframe&gt;&lt;/p&gt;</description><link>http://tiqview.tumblr.com/post/36809183439</link><guid>http://tiqview.tumblr.com/post/36809183439</guid><pubDate>Thu, 29 Nov 2012 15:29:00 +0100</pubDate><category>analytical_views</category><category>hana</category><category>jdbc</category><category>qlikview</category><category>sap</category><category>direct_discovery</category></item><item><title>Hadoop HDFS JDBC Driver</title><description>&lt;p&gt;&lt;a href="http://www.tiq-solutions.de/display/enghome/Home" title="TIQ Solutions, Leipzig, Germany" target="_self"&gt;TIQ Solutions&lt;/a&gt; has released the Hadoop HDFS JDBC Driver. You can download a limited demo here:&lt;/p&gt;
&lt;p&gt;Hadoop HDFS JDBC Driver demo for &lt;a href="http://bit.ly/Q7AlCD" title="Hadoop HDFS JDBC Driver demo v1.0.3" target="_self"&gt;Hadoop version 1.0.3&lt;/a&gt; (14.2&amp;#160;MB)&lt;a href="http://bit.ly/Q7AlCD" title="Hadoop HDFS JDBC Driver demo v1.0.3" target="_self"&gt;&lt;br/&gt;&lt;/a&gt;Hadoop HDFS JDBC Driver demo for &lt;a href="http://bit.ly/T9cnV7" title="Hadoop HDFS JDBC Driver demo v2.0.1" target="_self"&gt;Hadoop version 2.0.1&lt;/a&gt; (21.4&amp;#160;MB)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The Hadoop HDFS JDBC Driver is designed to connect Hadoop HDFS from an external system (outside the Hadoop cluster) via JDBC and to extract relational data in a line or CSV based format from a HDFS (Hadoop distributed file system).&lt;/p&gt;
&lt;p&gt;Indeed, there are already several ways to extract data from Hadoop but no really easy way to use existing query or analysis software on the HDFS itself, on a file level. For instance, if you want to perform a quick check of the last map reduce results you will need an interface, which allows you to keep track of your data in time.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/Hadoop_HDFS_Squirrel.png" title="Hadoop HDFS with Squirrel" target="_self"&gt;&lt;img alt="Hadoop HDFS with Squirrel" src="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/Hadoop_HDFS_Squirrel.png" width="420"/&gt;&lt;/a&gt;&lt;br/&gt;&lt;em&gt;use of HDFS JDBC driver with Squirrel&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Preparation&lt;/strong&gt;&lt;/p&gt;
&lt;p class="MsoPlainText"&gt;The following settings are mandatory for configuring the Hadoop cluster.Ensure that they are set properly, when using the Hadoop jdbc.&lt;/p&gt;
&lt;p class="MsoPlainText"&gt; There are some files in your Hadoop install directory (in the following refered as $HADOOP_HOME), which should be adjusted. Precisly speaking, there are located in $HADOOP_HOME/conf. They exists as .xml files, which contain a set of property elements. A property element is a key value pair, so you have to set a name tag and a value tag.&lt;/p&gt;
&lt;p class="MsoPlainText"&gt;Take a look at the example configuration file: core-site.xml&lt;/p&gt;
&lt;p class="MsoPlainText"&gt;&amp;lt;?xml version=&amp;#8221;1.0&amp;#8221;?&amp;gt;&lt;br/&gt;&amp;lt;?xml-stylesheet type=&amp;#8221;text/xsl&amp;#8221; href=&amp;#8221;configuration.xsl&amp;#8221;?&amp;gt;&lt;br/&gt;&amp;lt;configuration&amp;gt;&lt;br/&gt;&amp;lt;property&amp;gt;&lt;br/&gt;&lt;span&gt;  &lt;/span&gt;&amp;lt;name&amp;gt;hadoop.tmp.dir&amp;lt;/name&amp;gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&amp;lt;value&amp;gt;/var/hadoop&amp;lt;/value&amp;gt;&lt;span&gt;&lt;br/&gt;  &lt;/span&gt;&amp;lt;description&amp;gt;A base for other temporary directories. The executor of the hdfs deamon need to have the permission to write in this directory.&amp;lt;/description&amp;gt; &amp;lt;/property&amp;gt;&lt;br/&gt;&amp;lt;property&amp;gt;&lt;span&gt;&lt;br/&gt;  &lt;/span&gt;&amp;lt;name&amp;gt;fs.default.name&amp;lt;/name&amp;gt;&lt;br/&gt;&lt;span&gt;  &lt;/span&gt;&amp;lt;value&amp;gt;hdfs://&amp;lt;IP ADDRESS&amp;gt;:&amp;lt;PORT&amp;gt;&amp;lt;/value&amp;gt;&lt;br/&gt;&lt;span&gt;  &lt;/span&gt;&amp;lt;description&amp;gt;The name of the default file system.&lt;span&gt;  &lt;/span&gt;A URI whose&lt;span&gt; &lt;/span&gt;scheme and authority determine the FileSystem implementation.&lt;br/&gt;&lt;span&gt;  &lt;/span&gt;For being able to connect to the HDFS, the IP adress should be taken from the namenode machine of your local network.&lt;span&gt;&lt;br/&gt;  &lt;/span&gt;To avoid problems, you should configure a valid DNS setup between your cluster nodes too.&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&amp;lt;/description&amp;gt;&lt;br/&gt;&amp;lt;/property&amp;gt;&lt;br/&gt;&amp;lt;/configuration&amp;gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Usage&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;You can include the driver like any usual JDBC Driver. Make sure, that the used Java library files (.jar) are in a directory called &amp;#8220;lib&amp;#8221; next to the connectors jar file.&lt;/p&gt;
&lt;p&gt;Make sure that you have the appropriate Java libraries for your Hadoop deployment. There are library versions for the Hadoop version 1.0.3 (current stable release, e.g. Cloudera Version CDH3) and the version 2.0.1 (current alpha release, e.g. Cloudera Version CDH4).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Specify the driver class&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The JDBC mechanism uses the class name of a driver to reflect and load it during runtime. Thus, you need to tell your application the driver name:&lt;br/&gt;&lt;br/&gt;de.tiq.hadoop.TIQHdfsDriver&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Connect to your HDFS&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;For being able to connect, specify the following JDBC URL:&lt;br/&gt;&lt;br/&gt;jdbc:hdfs//&amp;lt;theHDFShost&amp;gt;:&amp;lt;PORT&amp;gt;?PARAMS=VALUE&lt;/p&gt;
&lt;p&gt;Currently, there are no security protocols implemented.&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;Settings for your connection&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;There are parameters (key-value pairs), which are appended to the URL like ordinary HTTP GET parameters after the question mark token:&lt;br/&gt;&lt;br/&gt;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;user=&amp;lt;YourHDFSUserName&amp;gt; - connects you to the HDFS with the specified user name, e.g. `&amp;#8230;?user=root`&lt;/li&gt;
&lt;li&gt;recursive=&amp;lt;boolean&amp;gt; - if true, the driver will match files in any subdirectory when querying the HDFS with a regular expression. Use: `&amp;#8230;?recursive=true` The default is false.&lt;/li&gt;
&lt;li&gt;separator=&amp;lt;MaskedSeparatorSign&amp;gt; - set the column separator of your data, the default is a TAB &amp;#8216;\t&amp;#8217; `&amp;#8230;?separator=,` you may also use a URL mask for special characters: `&amp;#8230;?separator=%3B`(semicolon)&lt;/li&gt;
&lt;li&gt;skip_header=&amp;lt;boolean&amp;gt; - if true, it will skip the header lines when concatenating a set of files, e.g. `&amp;#8230;?skip_header=true` The default is false.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;The whole URL might look like:&lt;br/&gt;&lt;br/&gt;jdbc:hdfs://localhost:9000?user=hduser&amp;amp;recursive=true&amp;amp;separator=%3B&amp;amp;skip_header=true&amp;amp;raiseUnsupportedOperationException=false&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;Create Statements&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The main functionality of the driver consists of issuing SQL queries. It will get the data from a file out of the HDFS. I remind you again that the data should be organized in a relational way, e.g. .csv files.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Single file:&lt;/strong&gt;&lt;br/&gt;For retrieving data from a file of the HDFS, you can set the path to the file in the from clause of the select statement. For a single file the syntax appears to be like this:&lt;br/&gt;&lt;br/&gt;select * | CommaSeperatedColumnList From /path/to/hdfs/object&lt;br/&gt;&lt;br/&gt;seeing that the from clause represents a path in the hdfs like `/input/data.csv`.&lt;br/&gt;&lt;br/&gt;For a single file, it is allowed to omit the .csv suffix.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Set of files:&lt;br/&gt;&lt;/strong&gt;When concatenating files, please keep in mind that the first file determines the structure of the whole table. All other files will be interpreted as they would have the same column structure. Knowing that, missing columns will be treated as NULL values and additional columns will be lost.&lt;/p&gt;
&lt;p&gt;We assume that you don&amp;#8217;t want to mix up unrelated data with each other.&lt;br/&gt;If you need join functionality, checkout a map reduce job in hadoop to transform the data in the appropriate structure.&lt;br/&gt;&lt;br/&gt;You can state a set of files as a comma separated list, e.g. &lt;br/&gt;&lt;br/&gt;select * from /path/file1,/path/file2,/file3&lt;br/&gt;&lt;br/&gt;they don&amp;#8217;t need to be in the same directory. Between the different files there must not be a whitespace.&lt;br/&gt;&lt;br/&gt;The first given path in such an expression is called &amp;#8220;base path&amp;#8221;. We estimate that you want to extract more files of the base path. You can use the following query:&lt;br/&gt;&lt;br/&gt;select * from /path/file1,file2,file3&lt;br/&gt;&lt;br/&gt;which will return the data of file1, file2 and file3 out of the /path directory from your HDFS. &lt;br/&gt;&lt;br/&gt;&lt;strong&gt;Regular expression:&lt;/strong&gt;&lt;br/&gt;You can use a (Java) regular expression to retrieve a set of files, which are matched by a given pattern. They should contain the same column structure again, because the first file still determines the header.&lt;br/&gt;&lt;br/&gt;A pattern is initiated by a hash character (#). For example:&lt;br/&gt;&lt;br/&gt;select * from /path/#csv$&lt;br/&gt;&lt;br/&gt;would extract all files, which end with the character suffix csv. It will search recursively, if you specify the `recursive=true` parameter in the URL.&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;Directories:&lt;/strong&gt;&lt;br/&gt;For providing an easy way to navigate, you can also pose a query to retrieve directory informations. Try:&lt;br/&gt;&lt;br/&gt;select * from /&lt;br/&gt;&lt;br/&gt;and you see a basic Unix like index of the root directory from your HDFS.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/Hadoop_HDFS_QlikView.png" title="Hadoop HDFS with QlikView" target="_self"&gt;&lt;img alt="Hadoop HDFS with QlikView" src="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/Hadoop_HDFS_QlikView.png" width="420"/&gt;&lt;/a&gt;&lt;br/&gt;&lt;/strong&gt;&lt;em&gt;use of HDFS JDBC driver with QlikView&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;&lt;a href="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/Hadoop_HDFS_QlikView_script.png" title="Hadoop HDFS with QlikView script example" target="_self"&gt;&lt;img alt="Hadoop HDFS with QlikView script example" src="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/Hadoop_HDFS_QlikView_script.png" width="420"/&gt;&lt;/a&gt;&lt;br/&gt;&lt;/strong&gt;QlikView script example to read out a whole data model from HDFS&lt;strong&gt;&lt;br/&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Demo mode&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;The demo version of this software is limited to fetch 1000 rows of data. &lt;br/&gt;As a demo, this program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. &lt;br/&gt;&lt;br/&gt;If you have any questions, feel free to ask us:&lt;br/&gt;&lt;br/&gt;ralf.becher (at) tiq-solutions (dot) de&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This images shows the configuration of the Hadoop HDFS JDBC Driver and the additional needed Java libraries in the QlikView JDBC Connector:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/JDBCConfig_HDFS.png" title="QlikView JDBC Connector" target="_self"&gt;&lt;img alt="QlikView JDBC Config HDFS" src="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/JDBCConfig_HDFS.png" width="420"/&gt;&lt;/a&gt;&lt;/p&gt;</description><link>http://tiqview.tumblr.com/post/36136285105</link><guid>http://tiqview.tumblr.com/post/36136285105</guid><pubDate>Tue, 20 Nov 2012 14:31:00 +0100</pubDate><category>hadoop</category><category>hdfs</category><category>jdbc</category><category>driver</category><category>suirrel</category><category>qlikview</category><category>bigdata</category><category>nosql</category></item><item><title>Connect QlikView with Google Cloud SQL</title><description>&lt;p&gt;&lt;a href="https://cloud.google.com/products/cloud-sql" title="Google Cloud SQL" target="_self"&gt;Google Cloud SQL&lt;/a&gt; is a new service which runs mySQL databases in Google&amp;#8217;s cloud. You can try out this service without charge until June 2013 under a introductory trial.&lt;/p&gt;
&lt;p&gt;Usually, you would need a database if you develop applications with the Google App Engine platform. Of course, there should be a possibility to connect Cloud SQL from &lt;a href="https://developers.google.com/cloud-sql/docs/external" title=" Connecting from External Applications" target="_self"&gt;external applications&lt;/a&gt;. This is possible with the &lt;a href="https://developers.google.com/cloud-sql/docs/commandline" title="Command Line Tool" target="_self"&gt;command line tool&lt;/a&gt; and via JDBC. Here comes the next use case for our &lt;a href="http://www.tiq-solutions.de/display/enghome/ENJDBC" title=" QlikView JDBC Connector" target="_self"&gt;QlikView JDBC Connector&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To connect Google Cloud SQL you need to create OAuth 2.0 tokens to authorize applications to connect to your instance on your behalf. This can be done by using the &lt;a href="https://developers.google.com/cloud-sql/docs/commandline" title="Command Line Tool" target="_self"&gt;command line tool&lt;/a&gt; (section Setup).&lt;/p&gt;
&lt;p&gt;After following the command line tool setup steps the OAuth 2.0 tokens are created and stores in Windows registry under the key:&lt;/p&gt;
&lt;p&gt;HKCU\Software\JavaSoft\Prefs\com.google.cloud.sqlservice&lt;/p&gt;
&lt;p&gt;You need to copy this entries for the user who will be running the application on the deployment machine.&lt;/p&gt;
&lt;p&gt;In the next step we configure the Google Cloud SQL JDBC driver in the connector:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/JDBCConfig_Google_Cloud_SQL.png" target="_blank"&gt;&lt;img align="bottom" alt="JDBC Config Google Cloud SQL" src="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/JDBCConfig_Google_Cloud_SQL.png" width="420"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Now we can start connecting Cloud SQL in QlikView. Just open the script editor choose JDBC Connector and click connect. Enter the JDBC connect string:&lt;/p&gt;
&lt;p&gt;jdbc:google:rdbms://&amp;lt;your_instance_name&amp;gt;/&amp;lt;your_database_name&amp;gt;?&lt;br/&gt;connector.driverClass=com.google.cloud.sql.Driver;&lt;/p&gt;
&lt;p&gt;Leave the user/password properties free.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://DBCConnector_Google_Cloud_SQL" target="_self"&gt;&lt;img align="bottom" alt="JDBC connect to Google Cloud SQL" src="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/JDBCConnector_Google_Cloud_SQL.png" width="420"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Now we can select the objects from an example mySQL schema I&amp;#8217;ve created before with the Google API Console SQL Prompt. Use the dialog as usual to build your SELECT statements to load the data into QlikView:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/JDBCConnector_Google_Cloud_SQL_select.png" target="_self"&gt;&lt;img align="bottom" alt="JDBC Connector_Google Cloud SQL select" src="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/JDBCConnector_Google_Cloud_SQL_select.png" width="420"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;As we can see it takes only some additional configuration steps to connect QlikView with Google Cloud SQL. Then you can retrieve data into your QlikView application as you would work with a standard mySQL instance.&lt;/p&gt;</description><link>http://tiqview.tumblr.com/post/36009946386</link><guid>http://tiqview.tumblr.com/post/36009946386</guid><pubDate>Sun, 18 Nov 2012 21:25:00 +0100</pubDate><category>google cloud sql</category><category>jdbc</category><category>jdbcconnector</category><category>mysql</category><category>qlikview</category><category>cloud</category></item><item><title>Honey, I shrunk the QVDs</title><description>&lt;p&gt;Although, &lt;span id="result_box"&gt;&lt;span class="hps"&gt;not&lt;/span&gt; &lt;span class="hps"&gt;in this dramatic&lt;/span&gt; &lt;span class="hps"&gt;way &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="hps"&gt;&lt;span&gt;&lt;span class="hps"&gt;the &lt;a href="http://www.imdb.com/title/tt0097523/" title="Honey, I shrunk..." target="_self"&gt;scientist&lt;/a&gt;&lt;/span&gt;&lt;span class="hps"&gt;&lt;a href="http://www.imdb.com/title/tt0097523/" title="Honey, I shrunk..." target="_self"&gt;of the film&lt;/a&gt; did&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt; &lt;span class="hps"&gt;but&lt;/span&gt; at least &lt;span class="hps"&gt;without loss of any information&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;img alt="Shrunk QVDs" src="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/Shrunk_QVD_files.jpg" width="240"/&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;During the development of my Java QVD creation library I have analyzed a lot of QlikView created QVD files (who else could create them before..) and found out that the utilization of numeric data types in QlikView (and in stored QVD files) has some room for optimization. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;Especially if you have a lot of integer numericals where number formats are not needed. This means you could also store currency amounts in that way by multiplying with 100. You always can choose the formats in the QlikView application. I&amp;#8217;m wondering why this is stored in the QVD files and takes place in the QlikView application memory (dual?). Ok, I can imagine some use cases like internationalization&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt; etc.&lt;br/&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;In one of my test cases I have used a CSV file (a very common format in Big Data environments like Hadoop) as a source for my QVD creation with the following characteristics:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt; Size: 1.09&amp;#160;GB&lt;br/&gt;Records: &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;15.8&amp;#160;M&lt;br/&gt;Columns: 21&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;In the next step we can compare the slight differences in the created QVD files:&lt;br/&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;QVD file QlikView STORE created: 630&amp;#160;MB&lt;br/&gt;QVD file Java Converter created: 598&amp;#160;MB&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;strong&gt;Result: -32&amp;#160;MB&lt;/strong&gt; (5% less disk space)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;QVD Statistics:&lt;br/&gt;Fields: 21&lt;br/&gt;Symbols: 7997448&lt;br/&gt;Records: 15806515&lt;br/&gt;Datapoints: 225563265&lt;br/&gt;Nullvalues: 106373550&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;Memory usage in a QlikView application (.qvw) discovered in QlikView&amp;#8217;s memory statistics (.mem file):&lt;br/&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;QVD file QlikView STORE created: 686.6&amp;#160;MB&lt;br/&gt;QVD file Java Converter created: 665.6&amp;#160;MB&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;strong&gt;Result: -21&amp;#160;MB&lt;/strong&gt; (3% less RAM)&lt;br/&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;Ok, saving 21&amp;#160;MB memory usage is not a big deal here but it indicates that the QVD stored data types have an influence on the QlikView application also. I think this should &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;be &lt;/span&gt;&lt;/span&gt;definitely considered in Big Data environments.&lt;br/&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;We should keep in mind that we can &lt;/span&gt;&lt;/span&gt;&lt;span class="short_text"&gt;&lt;span class="hps"&gt;can&lt;/span&gt; &lt;span class="hps"&gt;move the memory boundary a little bit&lt;strong&gt;.&lt;/strong&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</description><link>http://tiqview.tumblr.com/post/35336354403</link><guid>http://tiqview.tumblr.com/post/35336354403</guid><pubDate>Fri, 09 Nov 2012 14:46:00 +0100</pubDate><category>qlikview</category><category>qvd</category><category>qvdreader</category><category>qvdwriter</category><category>qvdconverter</category><category>java</category><category>optimization</category><category>optimize</category></item><item><title>QlikView 11 for Developers: The Book</title><description>&lt;p&gt;It was a pleasure to contribute with the review on this brand new book by Mike Garcia and Barry Harmsen published by &lt;a href="http://www.packtpub.com/qlikview-11-developers/book" title="QlikView 11 for Developers book" target="_blank"&gt;Packt Publishing&lt;/a&gt;:&lt;br/&gt;&lt;br/&gt;&lt;a href="http://www.qlikfix.com/2012/10/25/announcing-qlikview-11-for-developers-the-book/" title="QlikView 11 For Developers" target="_self"&gt;QlikView 11 For Developers&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img height="308" src="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/QlikView11ForDevelopersCover.png" width="250"/&gt;&lt;br/&gt;&lt;br/&gt;With this great book you will learn the techniques and best practices to create QlikView applications efficiently and to improve your QlikView development skills. This will help even experienced developers in their everyday development challenge. I highly recommend this book.&lt;br/&gt;&lt;br/&gt;Thanks to Mike and Barry!&lt;/p&gt;</description><link>http://tiqview.tumblr.com/post/34352769578</link><guid>http://tiqview.tumblr.com/post/34352769578</guid><pubDate>Fri, 26 Oct 2012 11:43:49 +0200</pubDate><category>qlikview</category><category>book</category><category>review</category></item><item><title>Hadoop HDFS JDBC driver with QlikView</title><description>&lt;p&gt;This is a first test of our brand new developed HDFS JDBC driver. It can be used in combination with our QlikView JDBC Connector to query the HDFS file system and to load CSV files (raw data or MapReduce results) directly from HDFS into QlikView.&lt;/p&gt;
&lt;p&gt;We have two deployments for HDFS version 1.0.3 CDH3 and 2.0.1 CHD4.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/Hadoop_HDFS_QlikView.png" title="Hadoop HDFS QlikView" target="_self"&gt;&lt;img alt="Hadoop HDFS QlikView" src="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/Hadoop_HDFS_QlikView.png" width="420"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A full tutorial will be released soon..&lt;/p&gt;</description><link>http://tiqview.tumblr.com/post/33773549758</link><guid>http://tiqview.tumblr.com/post/33773549758</guid><pubDate>Wed, 17 Oct 2012 16:49:00 +0200</pubDate><category>hadoop</category><category>hdfs</category><category>jdbc</category><category>qlikview</category><category>bigdata</category></item><item><title>QlikView Data Integration in a Java World</title><description>&lt;p&gt;A brief introduction on our innovative QlikView data integration components:&lt;/p&gt;
&lt;p&gt;&lt;iframe frameborder="0" height="356" marginheight="0" marginwidth="0" scrolling="no" src="http://de.slideshare.net/slideshow/embed_code/14603639" width="427"&gt; &lt;/iframe&gt;&lt;/p&gt;
&lt;div&gt;&lt;strong&gt; &lt;a href="http://de.slideshare.net/rabe42/tiq-solutions-qlikview-data-integration-in-a-java-world" title="TIQ Solutions - QlikView Data Integration in a Java World" target="_blank"&gt;TIQ Solutions - QlikView Data Integration in a Java World&lt;/a&gt; &lt;/strong&gt; from &lt;strong&gt;&lt;a href="http://de.slideshare.net/rabe42" target="_blank"&gt;TIQ Solutions GmbH&lt;/a&gt;&lt;/strong&gt;&lt;/div&gt;</description><link>http://tiqview.tumblr.com/post/33420864615</link><guid>http://tiqview.tumblr.com/post/33420864615</guid><pubDate>Fri, 12 Oct 2012 10:50:33 +0200</pubDate><category>qlikview</category><category>java</category><category>bigdata</category><category>jdbc</category><category>json</category><category>qvx</category><category>qvd</category></item><item><title>Load a random sampling data set for Data Profiling in QlikView</title><description>&lt;p&gt;A well know best practice in data profiling is to load only a random data set if you have large amounts of data. This will help to speed up profiling and saves time on load and processing especially if you want to check all data on a daily base.&lt;br/&gt;&lt;br/&gt;We can do this in QlikView easily with the rand() function as shown in this load script example:&lt;/p&gt;
&lt;p&gt;// in this case we want to load a 10% sampling set of the data&lt;br/&gt;data:&lt;br/&gt;LOAD &amp;#8230;.&amp;lt;your fields&amp;gt;&amp;#8230;&lt;br/&gt;FROM &amp;lt;your QVD file&amp;gt;&lt;br/&gt;&lt;strong&gt;WHERE ceil(rand() * 100) &amp;lt;= 10&lt;/strong&gt;;  &lt;br/&gt;&lt;br/&gt;This feature is included in the new TIQViewQVD version 2.6:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/QlikView_Sampling.png" title="Sampling in TIQView" target="_self"&gt;&lt;img alt="Sampling in TIQView" src="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/QlikView_Sampling.png" width="420"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;As you can see the records (%key is the physical record number) got selected randomly. The result would not be an exact percentage of sampling because we have a random factor. Sometimes you will get a small amount of records more or less.&lt;/p&gt;
&lt;p&gt;You can download TIQViewQVD Limited Free Version &lt;a href="http://bit.ly/t9EBcs" title="TIQView - Interactive Data Profiling" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Hint:&lt;/strong&gt; There is also the &lt;strong&gt;&lt;span class="Bold"&gt;sample&lt;/span&gt; &lt;/strong&gt;prefix to a &lt;a class="MCXref_0" href="http://community.qlikview.com/docs/Load.htm" target="_blank"&gt;&lt;em&gt;Load&lt;/em&gt;&lt;/a&gt; or &lt;a class="MCXref_0" href="http://community.qlikview.com/docs/Select_SQL.htm" target="_blank"&gt;&lt;em&gt;Select (SQL)&lt;/em&gt;&lt;/a&gt; statement which can be used for loading a random sample of records from the data source.&lt;/p&gt;
&lt;p&gt;My tests showed that the resulting amount of sample rows were more inaccurate, mostly 10-20% higher as expected.&lt;/p&gt;</description><link>http://tiqview.tumblr.com/post/31279621020</link><guid>http://tiqview.tumblr.com/post/31279621020</guid><pubDate>Mon, 10 Sep 2012 20:25:00 +0200</pubDate><category>qlikview</category><category>tiqview</category><category>dataprofiling</category><category>sampling</category></item><item><title>Facing Square Brackets in Field Names of QlikView Sources</title><description>&lt;p&gt;I stepped into this in my current project. Our data sources are CSV flat files with field names in the header row. Unfortunately there are square brackets used for the field names.&lt;/p&gt;
&lt;p&gt;Unfortunately QlikView cannot handle these brackets. The table file wizard shows the header line with the correct field names with square brackets:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/QlikView_Square_Brackets01.png" title="QlikView file wizard" target="_self"&gt;&lt;img alt="QlikView file wizard" src="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/QlikView_Square_Brackets01.png" width="420"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;but the created script is wrong and cannot be proccessed:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/QlikView_Square_Brackets02.png" title="QlikView script" target="_self"&gt;&lt;img alt="QlikView script" src="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/QlikView_Square_Brackets02.png" width="420"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;There are two natural ways to fix this problem by hand coding:&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;using alias name (good luck if you have hundreds of fields)&lt;/li&gt;
&lt;li&gt;use double qoutes (not very nice for QlikView chart expressions)&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;I found a simple way to solve it with a &lt;strong&gt;three step approach&lt;/strong&gt;:&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;read field names as a list from the header row (use subfield function to transpose) into a mapping table and replace square brackets with paranthesis (or else)&lt;/li&gt;
&lt;li&gt;load data with no labels (field names @1, @2 etc.)&lt;/li&gt;
&lt;li&gt;rename field names using a mapping table&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;This is the code example (download &lt;a href="http://bit.ly/PsWMSK" title="download example" target="_blank"&gt;here&lt;/a&gt;):&lt;/p&gt;
&lt;p&gt;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;-&lt;/p&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code"&gt;// load header row
Header:
FIRST 1 LOAD @1:n as First_Line
FROM flatfile.csv
(fix, codepage is 1252);

// load list of fields for renaming, replace square brackets with paranthesis
Map_Fields:
MAPPING LOAD '@' &amp;amp; RowNo() as Field1, Replace(Replace(SubField(First_Line, '|'), '[', '('), ']', ')') as Field2
Resident Header;

Drop Table Header; 

// load data without field names (save scripting work with aliases)
data:
LOAD @1, 
     @2, 
     @3, 
     @4, 
     @5, 
     @6, 
     @7
FROM flatfile.csv
(txt, codepage is 1252, no labels, delimiter is '|', msq, header is 1 lines);

//
RENAME Fields using Map_Fields;&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;-&lt;/p&gt;
&lt;p&gt;You can use this mimic for several files also. It can help saving your coding time if you&amp;#8217;re facing lovely square brackets.&lt;/p&gt;</description><link>http://tiqview.tumblr.com/post/30452628347</link><guid>http://tiqview.tumblr.com/post/30452628347</guid><pubDate>Wed, 29 Aug 2012 15:51:00 +0200</pubDate><category>qlikview</category><category>flatfile</category><category>source</category><category>square_bracket</category></item><item><title>Connect to Hadoop Hive from within QlikView</title><description>&lt;p&gt;This is an example to show how you can connect QlikView with Hadoop Hive by using the &lt;a href="http://bit.ly/A98Sdi" title="QlikView JDBC Connector" target="_blank"&gt;QlikView JDBC Connector&lt;/a&gt;. You need to install and activate the demo version from TIQ Solutions.&lt;/p&gt;
&lt;p&gt;An easy way to start with Hadoop is the Cloudera Distribution Including Apache Hadoop (CDH) which is availble for download here: &lt;a href="https://ccp.cloudera.com/display/SUPPORT/CDH+Downloads#CDHDownloads-CDH4PackagesandDownloads" title="Cloudera CDH4" target="_blank"&gt;CDH4&lt;/a&gt; (latest version is CDH4.0.1)&lt;/p&gt;
&lt;p&gt;After starting the CentOS VM with Hadoop you can create the Beeswax for Hive examples (via web app Hue), which are two tables:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/Beeswax_Tables.png" title="Beewwax Tables" target="_self"&gt;&lt;img alt="Beewax Tables" src="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/Beeswax_Tables.png" width="420"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The Hive server service is already running on default port 10000. If not start the service:&lt;/p&gt;
&lt;p&gt;&lt;span&gt;/usr/bin/hive &amp;#8212;service hiveserver&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;Don&amp;#8217;t forget to find out the IP address of your VM (call &lt;span&gt;ifconfig&lt;/span&gt;).&lt;/p&gt;
&lt;p&gt;Next steps are on the client side. Download &lt;a href="https://s3-eu-west-1.amazonaws.com/tiq-solutions/JDBCConnector/hive_jdbc-0.8.1.zip" title="Hive JDBC libraries" target="_blank"&gt;Hive JDBC libraries&lt;/a&gt; and extract the files from the &lt;strong&gt;hive_jdbc-0.8.1.zip &lt;/strong&gt;archive &lt;span&gt;&lt;/span&gt;to a folder. Add all libraries in the shown order to the CLASSPATH with the config dialog of the QlikView JDBC Connector:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/JDBCConfig_Hive.png" title="Config Hive JDBC driver" target="_self"&gt;&lt;img alt="Config HIve JDBC driver" src="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/JDBCConfig_Hive.png" width="420"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Now connect to the Hive instance from QlikView by chosing the JDBCConnector dll&lt;/p&gt;
&lt;p&gt;&lt;img alt="Chose JDBC Connector" height="119" src="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/JDBCConnector_Dll.png" width="318"/&gt;&lt;/p&gt;
&lt;p&gt;and click Connect Button where you have to specify the the connection credentials:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Hadoop host IP address&lt;/li&gt;
&lt;li&gt;Hive port (default is 10000)&lt;/li&gt;
&lt;li&gt;JDBC driver class (as URL parameter, in bold)&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Copy this connect string into the connect dialog window:&lt;/p&gt;
&lt;p&gt;jdbc:hive://192.168.254.163:10000/default&lt;strong&gt;?connector.driverClass=org.apache.hadoop.hive.jdbc.HiveDriver&lt;/strong&gt;;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/JDBCConnector_Hive.png" title="Connect Hive" target="_self"&gt;&lt;img alt="Connect" src="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/JDBCConnector_Hive.png" width="420"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The dialog will past this custom connect statement into the script if you click OK:&lt;/p&gt;
&lt;p&gt;CUSTOM CONNECT TO &amp;#8220;Provider=JDBCConnector_x64.dll;jdbc:hive://192.168.254.163:10000/default?connector.driverClass=org.apache.hadoop.hive.jdbc.HiveDriver;XUserId=ZCNDJPC;XPassword=aSBFNZC;&amp;#8221;;&lt;/p&gt;
&lt;p&gt;Now you can use the table wizard to create your select statements (click select):&lt;/p&gt;
&lt;p&gt;&lt;a href="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/QlikView_Create_Hive_Select.png" title="Create Hive Select" target="_self"&gt;&lt;img alt="Create HIve Select" src="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/QlikView_Create_Hive_Select.png" width="420"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;That&amp;#8217;s it. Everything is done so far. You can start loading you QlikView application now.&lt;/p&gt;
&lt;p&gt;I have prepared a sample QlikView application &lt;strong&gt;QVHive.qvw&lt;/strong&gt; you can download &lt;a href="http://bit.ly/NzUsDC" title="QlikView Hive sample" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;</description><link>http://tiqview.tumblr.com/post/30384282535</link><guid>http://tiqview.tumblr.com/post/30384282535</guid><pubDate>Tue, 28 Aug 2012 15:20:00 +0200</pubDate><category>cdh4</category><category>cloudera</category><category>hadoop</category><category>hive</category><category>jdbc</category><category>qlikview</category><category>bigdata</category></item><item><title>Stream Data from Pentaho Kettle into QlikView via JDBC</title><description>&lt;p&gt;Pentaho has released the &lt;a href="http://wiki.pentaho.com/display/EAI/The+Thin+Kettle+JDBC+driver" title="Thin Kettle JDBC driver" target="_blank"&gt;Thin Kettle JDBC Driver&lt;/a&gt; which is a part of the core libraries from version 5.0-M1 or higher.&lt;/p&gt;
&lt;p&gt;This allows us to stream data from a Pentaho Kettle or PDI transformation right into QlikView without the need for any data persistence inbetween. This means we can connect to any output step of a transformation to gather the data.&lt;/p&gt;
&lt;p&gt;I followed the configuration steps Matt Casters has described &lt;a href="http://wiki.pentaho.com/display/EAI/The+Thin+Kettle+JDBC+driver" title="Thin Kettle JDBC driver" target="_blank"&gt;here&lt;/a&gt;. Basically, it is the creation of the carte config file: &lt;strong&gt;carte-config.xml&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;slave_config&amp;gt;  &lt;br/&gt;  &amp;lt;slaveserver&amp;gt;    &lt;br/&gt;    &amp;lt;name&amp;gt;slave4-8084&amp;lt;/name&amp;gt;    &lt;br/&gt;    &amp;lt;hostname&amp;gt;localhost&amp;lt;/hostname&amp;gt;    &lt;br/&gt;    &amp;lt;port&amp;gt;8084&amp;lt;/port&amp;gt;    &lt;br/&gt;  &amp;lt;/slaveserver&amp;gt;  &lt;br/&gt;&lt;br/&gt;  &amp;lt;services&amp;gt;  &lt;br/&gt;    &amp;lt;service&amp;gt;    &lt;br/&gt;      &amp;lt;name&amp;gt;&lt;strong&gt;Service&lt;/strong&gt;&amp;lt;/name&amp;gt;     &lt;br/&gt;      &amp;lt;filename&amp;gt;C:/Pentaho-Repo/examplecsv.ktr&amp;lt;/filename&amp;gt;     &lt;br/&gt;      &amp;lt;service_step&amp;gt;&lt;strong&gt;Output&lt;/strong&gt;&amp;lt;/service_step&amp;gt;   &lt;br/&gt;    &amp;lt;/service&amp;gt;&lt;br/&gt;&amp;lt;/slave_config&amp;gt;&lt;/p&gt;
&lt;p&gt;You can add multiple &amp;lt;service&amp;gt; sections if you want to connect to more than one transformation or step. This configuration is used for this basic example transformation:&lt;/p&gt;
&lt;p&gt;&lt;img alt="Kettle example transformation" height="257" src="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/Pentaho_Kettle_Example.png" width="391"/&gt;&lt;/p&gt;
&lt;p&gt;Then I configured the following Pentaho jar files (which are part of the distribution) in the &lt;a href="http://bit.ly/A98Sdi" title="QlikView JDBC Connector" target="_blank"&gt;QlikView JDBC Connector&lt;/a&gt; for this use case:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;lib/kettle-core.jar&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;libext/commons/commons-httpclient-3.1.jar&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;libext/commons/commons-codec-1.4.jar&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;libext/commons/commons-lang-2.6.jar&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;libext/commons/commons-logging-1.1.jar&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;libext/pentaho/kettle-vfs-20100924.jar&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;libext/log4j-1.2.16.jar&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;img alt="Config Kettle JDBC driver" height="402" src="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/JDBCConfig_Kettle.png" width="490"/&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;After the start of the carte service (Carte.bat carte-config.xml) you can connect from QlikView with this connect string (user/password is cluster/cluster):&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;CUSTOM CONNECT TO &amp;#8220;Provider=JDBCConnector_x64.dll;&lt;strong&gt;jdbc:pdi://localhost:8084/kettle?debugtrans=C:/Pentaho-Repo/jdbc.ktr&amp;amp;connector.driverClass=org.pentaho.di.core.jdbc.ThinDriver;&lt;/strong&gt;XUserId=GdKfdRRNVbcIXSJOSB;XPassword=CFQeQRRNVbcIXSJOTH;&amp;#8221;;&lt;br/&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;I have to mention here that the URL paramter &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;strong&gt;connector.driverClass&lt;/strong&gt; is used in the connect string to specify the JDBC driver class: &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;strong&gt;org.pentaho.di.core.jdbc.ThinDriver&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;strong&gt;&lt;br/&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Then you can select from the configured service in QlikView Script with an SQL query as it would be a regular database table:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;test:&lt;br/&gt;select * from &lt;strong&gt;Service&lt;/strong&gt;; // retrieves the data from step &lt;strong&gt;Output&lt;/strong&gt;&lt;br/&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;This basic example shows how to stream data from a Pentaho Kettle (or PDI) transformation into QlikView. It is just the beginning of a new integration scenario if you can imagine how many Pentaho Input steps (how about the SAP Input or the Big Data section?) are available &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;now &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;for use in this case. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;img alt="Pentaho Big Data" height="277" src="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/Pentaho_Kettle_BigData.png" width="435"/&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Also, if you &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;already &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;have Pentaho in production you can stream in data from existing transformations to tie both sides together &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; more tightly&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;.&lt;br/&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</description><link>http://tiqview.tumblr.com/post/29820190073</link><guid>http://tiqview.tumblr.com/post/29820190073</guid><pubDate>Mon, 20 Aug 2012 11:36:00 +0200</pubDate><category>bigdata</category><category>dataintegration</category><category>jdbc</category><category>kettle</category><category>pentaho</category><category>qlikview</category><category>datafederation</category></item><item><title>How to use QlikView to discover data quality issues?</title><description>&lt;p&gt;&lt;a href="http://community.qlikview.com/groups/data-quality" title="QlikCommunity Data Quality Group" target="_blank"&gt;&lt;img align="left" alt="QlikView Dataquality logo" height="106" src="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/QlikView_Dataquality_logo.png" width="129"/&gt;&lt;/a&gt;As a data quality management consultant at &lt;a href="http://www.tiq-solutions.com" title="TIQ Solutions, Leipzig, Germany" target="_blank"&gt;TIQ solutions&lt;/a&gt; I know and have used a lot of the data quality tools and suites of the market from big vendors and open source projects.&lt;/p&gt;
&lt;p&gt;As I started to work with QlikView in 2006 (the first contact with QlikView was on version 3 or so in 1999) I realized very quickly the power of an associated in-memory analytics application to discover issues in the data.&lt;br/&gt;&lt;br/&gt;This led into the decision to build some more professional data quality related QlikView applications which are availabe under the name &lt;a href="http://www.tiq-solutions.de/display/enghome/TIQView" title="TIQView - Interactive Data Profiling" target="_blank"&gt;TIQView&lt;/a&gt;: a set of QlikView applications helping consultants to deal with data quality issues.&lt;br/&gt;&lt;br/&gt;I joined &lt;a href="http://community.qlikview.com" title="QlikCommunity" target="_blank"&gt;QlikCommunity&lt;/a&gt; in April 2009 and created this &lt;a href="http://community.qlikview.com/groups/data-quality" title="QlikCommunity Data Quality Group" target="_blank"&gt;Data Quality group&lt;/a&gt; after the website relaunch to have a space for discussion and know how exchange on QlikView related data quality use cases, topics and questions.&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;Please contribute&lt;/strong&gt; and tell us your story about the dirty data you&amp;#8217;re facing in your project (I&amp;#8217;m sure it was not only once) and share how you handled it with QlikView. Or, maybe you have questions about best practices in this realm and you&amp;#8217;re looking for advice. Don&amp;#8217;t hesitate to ask..&lt;br/&gt;&lt;br/&gt;I hope I will find the time to post more of my experiences with this great &lt;strong&gt;Business AND Data Quality Discovery&lt;/strong&gt; software. In the meantime you can try out TIQView and make your comments or post feature request.&lt;br/&gt;&lt;br/&gt;Cheers,&lt;br/&gt;Ralf&lt;/p&gt;</description><link>http://tiqview.tumblr.com/post/29506320117</link><guid>http://tiqview.tumblr.com/post/29506320117</guid><pubDate>Thu, 16 Aug 2012 00:02:00 +0200</pubDate><category>qlikview</category><category>dataquality</category><category>dataprofiling</category><category>qlikcommunity</category></item><item><title>TIQ Solutions‘ QlikView Data Integration Landscape</title><description>&lt;p&gt;Our QlikView data integration components are getting more and more versatile now.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/TIQ_Solutions_QlikView_Dataintegration_Landscape.png" title="TIQ Solutions QlikView Data Integration Landscape" target="_self"&gt;&lt;img alt="TIQ Solutions QlikView Data Integration Landscape" height="325" src="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/TIQ_Solutions_QlikView_Dataintegration_Landscape.png" width="436"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(click on picture to enlarge)&lt;/p&gt;
&lt;p&gt;&lt;span id="result_box"&gt;&lt;span class="hps"&gt;Right now&lt;/span&gt; &lt;span class="hps"&gt;we&lt;/span&gt; &lt;span class="hps"&gt;have&lt;/span&gt; &lt;span class="hps"&gt;the&lt;/span&gt; &lt;span class="hps"&gt;following&lt;/span&gt; &lt;span class="hps"&gt;two products&lt;/span&gt; &lt;span class="hps"&gt;ready for use&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;1. The QlikView &lt;a href="http://bit.ly/A98Sdi" title="QlikView JDBC Connector" target="_blank"&gt;JDBC Connector&lt;/a&gt; (already on &lt;a href="http://bit.ly/Kzj7YB" title="QlikView JDBC Connector on QlikMarket" target="_blank"&gt;QlikMarket&lt;/a&gt;):&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;It connects you to Java Database Connectivity (JDBC) data sources which is the industry standard for database-independent connectivity for a wide range of databases and tabular data sources (e.g. Java-based databases such as Apache Derby or Big Data environments like Hadoop Hive).&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;A new interesting development in this area has just started. Pentaho is working on a lightweight JDBC driver to call Kettle transformations. With this solution you are able to stream data into QlikView from any step of a Kettle transformation. &lt;/span&gt;&lt;/span&gt;&lt;span id="result_box"&gt;&lt;span class="hps"&gt;This means that all&lt;/span&gt; &lt;span class="hps"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span id="result_box"&gt;&lt;span class="hps"&gt;Kettle&lt;/span&gt; input &lt;span class="hps"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span id="result_box"&gt;&lt;span class="hps"&gt;data&lt;/span&gt; &lt;span class="hps"&gt;sources&lt;/span&gt; &lt;span class="hps"&gt;and&lt;/span&gt; &lt;span class="hps"&gt;transformation steps can&lt;/span&gt;&lt;span class="hps"&gt; be used &lt;/span&gt;&lt;span class="hps"&gt;directly in&lt;/span&gt; &lt;span class="hps"&gt;QlikView&lt;/span&gt;&lt;span&gt; via JDBC calls!&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;2. The &lt;a href="http://bit.ly/Nx1bNq" title="JSON Proxy Server" target="_blank"&gt;JSON Proxy&lt;/a&gt; Server&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;It &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;is a Java based program&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt; which converts any JSON formatted data from various sources such as RESTful web APIs, NoSQL databases or JSON files into an XML format. The converted XML data stream can be used as a web file source in reporting and analysis applications that do not support JSON format (such as QlikView). It supports all major 1.0a and 2.0 OAuth APIs out-of-the-box.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;We work on several new use cases for the JSON proxy. It tends to be that this (JSON) porxy server evolves into a versatile any-to-any data and/or format conversation platform. It gives us also an &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;environment where we can &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;easy plug in new Java code. I think we will see some more interesting implementations of Business Intelligence related Java SDKs later this year.&lt;br/&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;The other QlikView related data integration components we provide are Java libraries which can deal with QlikView data files:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;span&gt;&lt;span&gt;QVXConverter&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span&gt;QVDConverter&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;span&gt;&lt;span&gt;The &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;QVXConverter is already used in several Java environments (you can read a bit more &lt;a href="http://bit.ly/NI07X5" title="QVX Converter" target="_blank"&gt;here&lt;/a&gt;), the QVDConverter&amp;#8217;s reading part (the QVD Reader) is ready for testing. Don&amp;#8217;t hesitate to contact us if you want to try out these components. Hopefully I get feedback from some keen QlikView enthusiasts in the next time.&lt;br/&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;We keep on working to close the white spots in the QlikView data integration landscape. Feel free to contact us to guide you through unknown territories..&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</description><link>http://tiqview.tumblr.com/post/27326847671</link><guid>http://tiqview.tumblr.com/post/27326847671</guid><pubDate>Mon, 16 Jul 2012 13:56:00 +0200</pubDate><category>api</category><category>bigdata</category><category>dataintegration</category><category>java</category><category>jdbc</category><category>json</category><category>kettle</category><category>qlikview</category><category>qvd</category><category>qvx</category><category>restful</category><category>qvdreader</category><category>qvdwriter</category></item><item><title>QlikView JDBC Connector with Java 1.7 RE</title><description>&lt;p&gt;&lt;a href="http://www.jdbcconnector.com" title="QlikView JDBC Connector" target="_blank"&gt;&lt;img alt="QlikView JDBC Connector" height="70" src="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/JDBCConnector.png" width="315"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If you want to try out our &lt;a href="http://bit.ly/A98Sdi" title="QlikView JDBC Connector" target="_blank"&gt;QlikView JDBC Connector&lt;/a&gt; (also on &lt;a href="http://bit.ly/Kzj7YB" title="QlikView JDBC Connector on QlikMarket" target="_blank"&gt;QlikMarket &lt;/a&gt;now) with the new Java 1.7 runtime environment you probably facing an error like &amp;#8220;could not load jvm.dll&amp;#8221;.&lt;/p&gt;
&lt;p&gt;We found out there is an MSVC dll missing. To solve this problem install the Microsoft Visual C++ 2010 Redistributable Package and configer the Java 1.7 jvm.dll in the JDBC Connector.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Important note for the new Java 1.7 runtime environment:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;You have to download and install the Microsoft Visual C++ 2010 Redistributable Package (x86) also!&lt;br/&gt;&lt;br/&gt;Download for 32-bit:&lt;br/&gt;&lt;a href="http://www.microsoft.com/de-de/download/confirmation.aspx?id=5555" target="_self"&gt;&lt;a href="http://www.microsoft.com/de-de/download/confirmation.aspx?id=5555" target="_blank"&gt;http://www.microsoft.com/de-de/download/confirmation.aspx?id=5555&lt;/a&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Download for 64-bit:&lt;br/&gt;&lt;a href="http://www.microsoft.com/de-de/download/confirmation.aspx?id=14632" target="_blank"&gt;&lt;a href="http://www.microsoft.com/de-de/download/confirmation.aspx?id=14632" target="_blank"&gt;http://www.microsoft.com/de-de/download/confirmation.aspx?id=14632&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;</description><link>http://tiqview.tumblr.com/post/27046916178</link><guid>http://tiqview.tumblr.com/post/27046916178</guid><pubDate>Thu, 12 Jul 2012 14:36:00 +0200</pubDate><category>qlikview</category><category>jre</category><category>java</category><category>msvc</category><category>connector</category><category>jdbc</category></item><item><title>QlikView data integration in a Java world with QVX &amp; QVD</title><description>&lt;p&gt;After creating a Java lib called QVXConverter to read and write QlikView data eXchange files (QVX) which got integrated in several solutions:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://bit.ly/M8WNoN" title="Hadoop QVX Converter Process Schema" target="_blank"&gt;Hadoop QVX Converter&lt;/a&gt; (&lt;a href="http://www.incentro.com/en/case/incentro-tiq-solutions-announcing-hadoop-qvx-converter" title="Incentro HQC" target="_blank"&gt;Incentro HQC&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Pentaho Kettle QVX Writer Plugin (&lt;a href="http://bit.ly/Kfgv6q" title="Pentaho Kettle QVX Writer Plugin" target="_blank"&gt;QlikCommunity&lt;/a&gt;) &lt;br/&gt;both from from &lt;a href="http://www.incentro.com" title="Incentro" target="_blank"&gt;Incentro&lt;/a&gt;, Netherlands&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.lavastorm.com" title="Lavastorm Analytics" target="_blank"&gt;Lavastorm&lt;/a&gt; Analytics&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;I will start to work on a Java implementation of the QVD format.&lt;/p&gt;
&lt;p&gt;&lt;img alt="QVXConverter" height="324" src="https://s3-eu-west-1.amazonaws.com/tiq-solutions/tumblr/pics/QVXConverter.png" width="286"/&gt;&lt;/p&gt;
&lt;p&gt;The QVX file format still don&amp;#8217;t shows the wanted loading performance in QlikView with large files even if it&amp;#8217;s optimized for numericals like numbers and date/datetime and a blocksize is given.&lt;/p&gt;
&lt;p&gt;Therefor the QVD file format - which can be used in an optimized QlikView load - must do the job in Big Data environments. Hence the QVD format is a bit more complex (but very delicious) it needs a different implementation approach and intelligent data caching (maybe I use &lt;a href="http://ehcache.org" title="Ehcache" target="_blank"&gt;Ehcache&lt;/a&gt;) in a Java application.&lt;/p&gt;
&lt;p&gt;But I think this is doable and I can use some snippets of the QVXConverter because of some similarities..&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; The QVDReader is finished! Now I can read and convert any QVD file outside of QlikView, under all OS platforms which can process Java. &lt;br/&gt;Btw. Ehcache was not the right solution. I had to use a persisten key/value store to cover unlimited QVD file size. I have chosen &lt;a href="https://github.com/jankotek/JDBM3" title="JDBM3" target="_blank"&gt;JDBM3&lt;/a&gt; which runs very stable so far.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update 2:&lt;/strong&gt; This is the very first demo of the Java-based &lt;a href="http://bit.ly/Obc5sx" title="QVDReader Demo" target="_blank"&gt;QVDReader&lt;/a&gt; implementation. You can convert QlikView QVD files to CSV. Try it out! &lt;br/&gt;I&amp;#8217;m waiting for your feedback..&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update 3:&lt;/strong&gt; &lt;span class="short_text" id="result_box"&gt;&lt;span class="hps"&gt;Now I&lt;/span&gt; &lt;span class="hps"&gt;was able to&lt;/span&gt; &lt;span class="hps"&gt;increase performance&lt;/span&gt; &lt;span class="hps"&gt;&lt;/span&gt;&lt;/span&gt;of the QVDReader &lt;span class="short_text" id="result_box"&gt;&lt;span class="hps"&gt;by 300%&lt;/span&gt;&lt;/span&gt; using a better JDBM3 implementation. &lt;span id="result_box"&gt;&lt;span class="hps"&gt;It&lt;/span&gt; &lt;span class="hps"&gt;seems&lt;/span&gt; &lt;span class="hps"&gt;now&lt;/span&gt; &lt;span class="hps"&gt;more likely&lt;/span&gt; &lt;span class="hps"&gt;to&lt;/span&gt; &lt;span class="hps"&gt;go&lt;/span&gt; &lt;span class="hps"&gt;into a productive&lt;/span&gt; &lt;span class="hps"&gt;state..&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update 4:&lt;/strong&gt; Our Java-based QVDWriter &lt;span class="short_text" id="result_box"&gt;&lt;span class="hps"&gt;&lt;/span&gt;implementation is working now! This means we&amp;#8217;re able to create QVD files in nearly any environment independently from QlikView.&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;</description><link>http://tiqview.tumblr.com/post/26630334356</link><guid>http://tiqview.tumblr.com/post/26630334356</guid><pubDate>Fri, 06 Jul 2012 17:01:00 +0200</pubDate><category>bigdata</category><category>dataintegration</category><category>java</category><category>qlikview</category><category>qvd</category><category>qvx</category><category>qvdreader</category><category>qvdwriter</category></item></channel></rss>
