So, the field 'value' can be used to define both alias and real values?

On Tue, Aug 9, 2016 at 11:40 AM, Rajat Khandelwal <pro...@apache.org> wrote:

> Yes, that is correct.
>
> On Wed, Aug 10, 2016, 00:09 Tao Yan <t...@linkedin.com> wrote:
>
>> Thanks for the explanation. I got the idea of tentative partitions.
>>
>> Is the property
>> *<property name="cube.timedim.partition.order_time" value="ot" />*
>>  referring to the dim_attribute
>> *<dim_attribute name="order_time" _type="TIMESTAMP" /> *?
>>
>> Is the value 'ot' an alias of the partition column name?
>>
>>
>> On Tue, Aug 9, 2016 at 12:47 AM, Rajat Khandelwal <pro...@apache.org>
>> wrote:
>>
>>> The idea of partitions is that there is a stream of data that keeps
>>> flowing in, each line of which has delivery time and order time both. The
>>> data is partitioned and stored in partitions later and facts are created on
>>> top of that partitioned data. So if data is partitioned in order time and
>>> the time range queried is also order time, then we can pick the partitions
>>> directly. But if the data is partitioned on delivery time, as is the case
>>> for this fact, and the query is on order time, then you pick some tentative
>>> partitions of delivery time, but you still have to filter over order time.
>>> Here the purpose of picking partitions is to reduce the amount of data
>>> read. When you pick delivery time partitions, it doesn't guarantee what
>>> order times data has, it only provides a tentative range. Hence, the
>>> partitions are picked based on the relation of time dimensions, but the
>>> extra filter still has to be supplied.
>>>
>>> Hope it's clear.
>>>
>>> On Tue, Aug 9, 2016 at 10:30 AM Rajat Khandelwal <pro...@apache.org>
>>> wrote:
>>>
>>>> That's the original time range asked in the cube query.
>>>>
>>>> On Tue, Aug 9, 2016, 01:46 Tao Yan <t...@linkedin.com> wrote:
>>>>
>>>>> Hi Rajat,
>>>>>
>>>>> Thanks for the explain. I have a clear understanding about dim
>>>>> relation now, however, how does the following condition generated:
>>>>>
>>>>> and ((sales.order_time) >= '2015-04-13 03:00:00') and ((sales.order_time) 
>>>>> < '2015-04-13 04:00:00')))
>>>>>
>>>>> order_time is a dim attributes defined in sales cube, and it does not 
>>>>> have any relationships with properties or other dim attributes (The 
>>>>> property cube.timedim.partition.order_time does, but is it the same 
>>>>> thing?), I wonder how the query could pick up this column.
>>>>>
>>>>>
>>>>> Thanks,
>>>>>
>>>>>
>>>>> On Mon, Aug 8, 2016 at 4:12 AM, Rajat Khandelwal <pro...@apache.org>
>>>>> wrote:
>>>>>
>>>>>> I've created a jira for this: https://issues.apache.
>>>>>> org/jira/browse/LENS-1269
>>>>>>
>>>>>> You should be able to make change in your data locally and see the
>>>>>> non-empty results:
>>>>>>
>>>>>> cat /Users/rajat.khandelwal/Git/lens/lens-dist/target/apache-
>>>>>> lens-2.7.0-SNAPSHOT-bin/apache-lens-2.7.0-SNAPSHOT-
>>>>>> bin/client/examples/data/sales_aggr_fact2_local3/sales-
>>>>>> aggr-fact2-local3.data
>>>>>> 2015-04-13 03:00:00,2015-04-13 04:00:00,1,1,1,1,1,1,5,0
>>>>>> 2015-04-13 03:00:00,2015-04-13 04:00:00,2,1,2,2,2,1,8,2
>>>>>>
>>>>>>
>>>>>> On Mon, Aug 8, 2016 at 2:46 PM Rajat Khandelwal <pro...@apache.org>
>>>>>> wrote:
>>>>>>
>>>>>>> More details on how it converts to the fallback range:
>>>>>>>
>>>>>>> Range asked:
>>>>>>> (order_time, '2015-04-13-03', '2015-04-13-04')
>>>>>>>
>>>>>>> Timedim Relation :
>>>>>>>
>>>>>>> <property name="cube.timedim.relation.order_time" 
>>>>>>> value="delivery_time+[-20 days,-1 hour]" />
>>>>>>>
>>>>>>> <property name="cube.timedim.relation.order_time" 
>>>>>>> value="delivery_time+[-2 hours,-1hour]" />
>>>>>>>
>>>>>>> The cube defines the first relation, the fact defines the second 
>>>>>>> relation. A fact can optionally override the timedim relation defined 
>>>>>>> by cube. So the second one is picked :
>>>>>>>
>>>>>>> Derivation:
>>>>>>>
>>>>>>> 2015-04-13-03 <=ot < 2015-04-13-04
>>>>>>> dt - 2 hours <= ot <= dt - 1 hour => ot + 1 hour <= dt <= ot + 2 hour
>>>>>>> => 2015-04-13-04 <= dt < 2015-04-13-06.
>>>>>>>
>>>>>>> Hope it's clearer now.
>>>>>>>
>>>>>>>
>>>>>>> On Mon, Aug 8, 2016 at 1:29 PM Rajat Khandelwal <pro...@apache.org>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hi
>>>>>>>>
>>>>>>>> So it seems right now the query is designed to return 0 rows. The
>>>>>>>> query is there just to demonstrate the fallback feature.
>>>>>>>>
>>>>>>>> Cube query is
>>>>>>>>
>>>>>>>> cube select customer_city_name, store_cost from sales where 
>>>>>>>> time_range_in(order_time,
>>>>>>>> '2015-04-13-03', '2015-04-13-04')
>>>>>>>> Driver query comes out to be
>>>>>>>>
>>>>>>>> SELECT (customer_city.name), sum((sales.store_cost)) FROM 
>>>>>>>> a.local_sales_aggr_fact2 sales join a.local_city_table customer_city 
>>>>>>>> on sales.customer_city_id = customer_city.id and (customer_city.dt = 
>>>>>>>> 'latest') WHERE (((((sales.dt) = '2015-04-13-04') or ((sales.dt) = 
>>>>>>>> '2015-04-13-05')) and ((sales.order_time) >= '2015-04-13 03:00:00') 
>>>>>>>> and ((sales.order_time) < '2015-04-13 04:00:00'))) GROUP BY 
>>>>>>>> (customer_city.name)
>>>>>>>>
>>>>>>>> Then I modified the driver query and ran:
>>>>>>>>
>>>>>>>> SELECT (customer_city.name), sales.order_time, sales.store_cost FROM 
>>>>>>>> a.local_sales_aggr_fact2 sales join a.local_city_table customer_city 
>>>>>>>> on sales.customer_city_id = customer_city.id and (customer_city.dt = 
>>>>>>>> 'latest') WHERE (((((sales.dt) = '2015-04-13-04') or ((sales.dt) = 
>>>>>>>> '2015-04-13-05'))))
>>>>>>>>
>>>>>>>> Found the following results:
>>>>>>>>
>>>>>>>> Bangalore^A2015-04-13 00:00:00^A0.0
>>>>>>>> Hyderabad^A2015-04-13 00:00:00^A2.0
>>>>>>>>
>>>>>>>> It's apparent that both the rows will be filtered out by the
>>>>>>>> translated query.
>>>>>>>>
>>>>>>>> I'll look deeper and replace the example query with something that
>>>>>>>> demonstrates the fallback feature and also returns non-empty results.
>>>>>>>>
>>>>>>>> Let us know if you have any confusion understanding the feature
>>>>>>>> itself. I think the video should have covered it.
>>>>>>>>
>>>>>>>>
>>>>>>>> Regards
>>>>>>>>
>>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>>
>>>>> *Tao Yan*
>>>>> Software Engineer
>>>>> Data Analytics Infrastructure Tools and Services
>>>>>
>>>>>
>>>>>
>>>>> 206.250.5345
>>>>> t...@linkedin.com
>>>>> https://www.linkedin.com/in/taousc
>>>>>
>>>>
>>
>>
>> --
>>
>> *Tao Yan*
>> Software Engineer
>> Data Analytics Infrastructure Tools and Services
>>
>>
>>
>> 206.250.5345
>> t...@linkedin.com
>> https://www.linkedin.com/in/taousc
>>
>


-- 

*Tao Yan*
Software Engineer
Data Analytics Infrastructure Tools and Services



206.250.5345
t...@linkedin.com
https://www.linkedin.com/in/taousc

Reply via email to