Yes, exporting into LENSCPPATH is the way to do this. You can edit
lens-env.sh and add the export line there, or you can rely on bash sessions
to have that environment variable.

On Fri, Sep 9, 2016 at 12:55 PM Pawan Malwal <pmalwal1...@gmail.com> wrote:

> I did it y'day after creating the dimension and I was getting the blank
> file created in the output folder. But for all the other dim tables created
> by run-examples.sh, such queries generates some data in the output files.
> I will do it again and let you know the results by Monday as I do not have
> access to the server from home.
>
> Meanwhile if you can please reply to this question. Just to confirm.. :)
>
> Could you please let me know where do we need to have the DB jar files. I
> am not sure if I have kept the Derydb jar file at the right place. Actually
> I just included the .jar file path in the CLASSPATH variable. Is this the
> correct way.?
>
> Regards
> Pawan Malwal
>
> On Fri, Sep 9, 2016 at 12:35 PM, Rajat Khandelwal <rajatgupt...@gmail.com>
> wrote:
>
>> Apologies, I totally missed step 1.
>>
>> Can you try running a query on dimension? e.g.
>>
>> select account_name from account
>>
>>
>>
>> On Fri, Sep 9, 2016 at 12:22 PM Pawan Malwal <pmalwal1...@gmail.com>
>> wrote:
>>
>>> Hello Rajat,
>>>
>>> Thanks for your reply. Please see my comments inline:
>>> Also could you please let me know where do we need to have the DB jar
>>> files. I am not sure if I have kept the Derydb jar file at the right place.
>>> Actually I just included the .jar file path in the CLASSPATH variable. Is
>>> this the correct way.?
>>>
>>> 1. You haven't created the dimension. You have to create manually.
>>> *Pawan>* I figured it out later and created the dimension for it.
>>>
>>>
>>> 2. The JDBC Driver has to have derbystorage in its supported storages.
>>> *Pawan> *I guess. its alreay there as mentioned in Step1 and Step4. Is
>>> this what you are pointing out or there is any other place I need to
>>> mention it in supported storages.?
>>>
>>> *Step1: Created a jdbc driver as follows:*
>>>
>>>
>>>
>>> <?xml version="1.0"?>
>>>
>>> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
>>>
>>> .......
>>>
>>> .....
>>>
>>>   <property>
>>>
>>>     <name>lens.cube.query.driver.supported.storages</name>
>>>
>>>     <value>derbydb</value>
>>>
>>>     <final>true</final>
>>>
>>> *......*
>>> *...*
>>>
>>> *....*
>>>
>>> *..*
>>>
>>> *Step 4: Added a dimension table:*
>>>
>>> <storage_tables>
>>>
>>>         <storage_table>
>>>
>>>             <storage_name>derbydb</storage_name>
>>>
>>>             <table_desc external="true"
>>> input_format="org.apache.hadoop.mapred.TextInputFormat"
>>> output_format="org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat"
>>> serde_class_name="org.apache.lens.storage.db.DBSerde"
>>> ...
>>> ....
>>>
>>>
>>>
>>> On Fri, Sep 9, 2016 at 11:35 AM, Rajat Khandelwal <
>>> rajatgupt...@gmail.com> wrote:
>>>
>>>> Couple of things
>>>>
>>>> 1. You haven't created the dimension. You have to create manually.
>>>> 2. The JDBC Driver has to have derbystorage in its supported storages.
>>>>
>>>>
>>>>
>>>> On Wed, Sep 7, 2016 at 7:16 PM Pawan Malwal <pawan.mal...@huawei.com>
>>>> wrote:
>>>>
>>>>> Hi Lens Experts,
>>>>>
>>>>>
>>>>>
>>>>> I have started exploring apache Lens recently. I am following Apache
>>>>> docs and some of the archived mails to analyze its features. I have come
>>>>> across an issue while trying to add Derby DB as a data source.
>>>>>
>>>>> Here are the details of what I have done so far. Please excuse me for
>>>>> elaborated mail as I have put most of configurations to provide all the
>>>>> information as I suspect something wrong with my configurations here.
>>>>>
>>>>>
>>>>>
>>>>> *Step1: Created a jdbc driver as follows:*
>>>>>
>>>>>
>>>>>
>>>>> <?xml version="1.0"?>
>>>>>
>>>>> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
>>>>>
>>>>>
>>>>>
>>>>> <configuration>
>>>>>
>>>>>   <property>
>>>>>
>>>>>     <name>lens.driver.jdbc.driver.class</name>
>>>>>
>>>>>     <value>org.apache.derby.jdbc.EmbeddedDriver</value>
>>>>>
>>>>>   </property>
>>>>>
>>>>>   <property>
>>>>>
>>>>>     <name>lens.driver.jdbc.db.uri</name>
>>>>>
>>>>>     <value>jdbc:derby://localhost:1527/derbyDB;create=true</value>
>>>>>
>>>>>   </property>
>>>>>
>>>>>   <property>
>>>>>
>>>>>     <name>lens.cube.query.driver.supported.storages</name>
>>>>>
>>>>>     <value>derbydb</value>
>>>>>
>>>>>     <final>true</final>
>>>>>
>>>>>   </property>
>>>>>
>>>>>   <property>
>>>>>
>>>>>     <name>lens.driver.jdbc.query.rewriter</name>
>>>>>
>>>>>     <value>org.apache.lens.driver.jdbc.ColumnarSQLRewriter</value>
>>>>>
>>>>>   </property>
>>>>>
>>>>>   <property>
>>>>>
>>>>>     <name>lens.driver.jdbc.explain.keyword</name>
>>>>>
>>>>>     <value>explain plan for </value>
>>>>>
>>>>>   </property>
>>>>>
>>>>> </configuration>
>>>>>
>>>>>
>>>>>
>>>>> *Step2: Created table in Derby DB:*
>>>>>
>>>>>
>>>>>
>>>>> ij> connect 'jdbc:derby:derbyDB';
>>>>>
>>>>>
>>>>>
>>>>> ij> create table DIM_ACCOUNT(id int,account_name varchar(40),status
>>>>> varchar(40),enabled int);
>>>>>
>>>>> 0 rows inserted/updated/deleted
>>>>>
>>>>>
>>>>>
>>>>> ij> insert into DIM_ACCOUNT values(1,'account1','active',1);
>>>>>
>>>>> 1 row inserted/updated/deleted
>>>>>
>>>>>
>>>>>
>>>>> ij> insert into DIM_ACCOUNT values(2,'account2','Inactive',1);
>>>>>
>>>>> 1 row inserted/updated/deleted
>>>>>
>>>>>
>>>>>
>>>>> ij> select * from DIM_ACCOUNT;
>>>>>
>>>>> ID         |ACCOUNT_NAME
>>>>> |STATUS                                  |ENABLED
>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------------------------------------------
>>>>>
>>>>> 1          |account1
>>>>> |active                                  |1
>>>>>
>>>>> 2          |account2
>>>>> |Inactive                                |1
>>>>>
>>>>>
>>>>>
>>>>> 2 rows selected
>>>>>
>>>>> ij>
>>>>>
>>>>>
>>>>>
>>>>> *Step 3: Created the storage file:*
>>>>>
>>>>>
>>>>>
>>>>> lens-shell>! grep -A 33333333 <x_ derby-db-storage.xml
>>>>>
>>>>> command is:grep -A 33333333 <x_ derby-db-storage.xml
>>>>>
>>>>> <x_storage classname="org.apache.lens.storage.db.DBStorage"
>>>>> name="derbydb" xmlns="uri:lens:cube:0.1"
>>>>>
>>>>>   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>>>>> xsi:schemaLocation="uri:lens:cube:0.1 cube-0.1.xsd ">
>>>>>
>>>>>   <properties>
>>>>>
>>>>>     <property name="lens.storage.db.url"
>>>>> value="jdbc:derby://localhost:1527/derbyDB"/>
>>>>>
>>>>>   </properties>
>>>>>
>>>>> </x_storage>
>>>>>
>>>>> lens-shell>create storage examples/resources/derby-db-storage.xml
>>>>>
>>>>> succeeded
>>>>>
>>>>>
>>>>>
>>>>> *Step 4: Added a dimension table:*
>>>>>
>>>>>
>>>>>
>>>>> lens-shell>! grep -A 33333333 <x_
>>>>> examples/resources/derby_account_table.xml
>>>>>
>>>>> command is:grep -A 33333333 <x_
>>>>> examples/resources/derby_account_table.xml
>>>>>
>>>>> <x_dimension_table xmlns="uri:lens:cube:0.1" dimension_name="account"
>>>>> table_name="account_derby" weight="0.1">
>>>>>
>>>>>     <columns>
>>>>>
>>>>>         <column name="id" _type="int" comment=""/>
>>>>>
>>>>>         <column name="account_name" _type="string" comment=""/>
>>>>>
>>>>>         <column name="status" _type="string" comment=""/>
>>>>>
>>>>>         <column name="enabled" _type="boolean" comment=""/>
>>>>>
>>>>>     </columns>
>>>>>
>>>>>     <storage_tables>
>>>>>
>>>>>         <storage_table>
>>>>>
>>>>>             <storage_name>derbydb</storage_name>
>>>>>
>>>>>             <table_desc external="true"
>>>>> input_format="org.apache.hadoop.mapred.TextInputFormat"
>>>>> output_format="org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat"
>>>>> serde_class_name="org.apache.lens.storage.db.DBSerde"
>>>>> storage_handler_name="org.apache.lens.storage.db.DBStorageHandler"  >
>>>>>
>>>>>                 <table_parameters>
>>>>>
>>>>>                     <property name="lens.metastore.native.table.name"
>>>>> value="dim_account"/>
>>>>>
>>>>>                     <property name="lens.metastore.native.db.name"
>>>>> value="derbyDB"/>
>>>>>
>>>>>                 </table_parameters>
>>>>>
>>>>>             </table_desc>
>>>>>
>>>>>         </storage_table>
>>>>>
>>>>>     </storage_tables>
>>>>>
>>>>> </x_dimension_table>
>>>>>
>>>>>
>>>>>
>>>>> lens-shell>create dimtable examples/resources/derby_account_table.xml
>>>>>
>>>>> succeeded
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> -------------------------------------------------------------------------------------------------------------------------------------------------------
>>>>>
>>>>>
>>>>>
>>>>> *Now, when I am trying to run a query from lens-shell, I am getting
>>>>> below error. Also I do not see “account” dimension created above using 
>>>>> show
>>>>> dimensions command. Not sure if I did anything wrong or missed something.*
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> lens-shell>show storages
>>>>>
>>>>> cluster1
>>>>>
>>>>> derbydb
>>>>>
>>>>> local
>>>>>
>>>>> mydb
>>>>>
>>>>>
>>>>>
>>>>> lens-shell>select * from DIM_ACCOUNT
>>>>>
>>>>> Request Id: bc846148-e585-43b5-9483-01f2e5c28ea1
>>>>>
>>>>> Error Code: 4001
>>>>>
>>>>> Error Message: Semantic Error : user lacks privilege or object not
>>>>> found: DIM_ACCOUNT
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> lens-shell>show dimensions
>>>>>
>>>>> product
>>>>>
>>>>> sample_dim2
>>>>>
>>>>> city
>>>>>
>>>>> sample_db_dim
>>>>>
>>>>> sample_dim
>>>>>
>>>>> customer
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Regards
>>>>>
>>>>> Pawan Malwal
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>>
>>> --
>>> Thanks and Regards
>>> Pawan Malwal
>>>
>>
>
>
> --
> Thanks and Regards
> Pawan Malwal
>

Reply via email to