A question about sort in carbon

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

A question about sort in carbon

lionel061201
Hi dev team,
I have a question about the sort in carbon data.
When we have following query:
select country, area, name, salary from table_a order by country;
It seems carbon will decode the country column from dictionary value to
original value first, and then sort by original value.

My question : Is the dictionary value order always the same with original
value order?
Or if we sort the dictionary value first and then decode to original value,
would that be correct operation?

BTW: where can I see the algorithm of Dictionary encode(class name or file
name)?

Thanks,
Lionel
Reply | Threaded
Open this post in threaded view
|

Re: A question about sort in carbon

kumarvishal09
Hi Lionel,
In case of order by it will convert the dictionary value to actual value
then it will sort the data as dictionary values can not give data in sorted
order because  for example vishal=2 and for Lionel=3 but in query Lionel
will come first then vishal, so carbon will sort based on actual value.

*File name:*
org.apache.spark.sql.CarbonDictionaryDecoder.scala



On Thu, Feb 16, 2017 at 4:44 PM, Lu Cao <[hidden email]> wrote:

> Hi dev team,
> I have a question about the sort in carbon data.
> When we have following query:
> select country, area, name, salary from table_a order by country;
> It seems carbon will decode the country column from dictionary value to
> original value first, and then sort by original value.
>
> My question : Is the dictionary value order always the same with original
> value order?
> Or if we sort the dictionary value first and then decode to original value,
> would that be correct operation?
>
> BTW: where can I see the algorithm of Dictionary encode(class name or file
> name)?
>
> Thanks,
> Lionel
>
kumar vishal
Reply | Threaded
Open this post in threaded view
|

Re: A question about sort in carbon

Cao Lu 曹鲁
Yes, I also think so. Thanks for the confirmation! :)


On 2/16/17, 5:24 PM, "Kumar Vishal" <[hidden email]> wrote:

>Hi Lionel,
>In case of order by it will convert the dictionary value to actual value
>then it will sort the data as dictionary values can not give data in sorted
>order because  for example vishal=2 and for Lionel=3 but in query Lionel
>will come first then vishal, so carbon will sort based on actual value.
>
>*File name:*
>org.apache.spark.sql.CarbonDictionaryDecoder.scala
>
>
>
>On Thu, Feb 16, 2017 at 4:44 PM, Lu Cao <[hidden email]> wrote:
>
>> Hi dev team,
>> I have a question about the sort in carbon data.
>> When we have following query:
>> select country, area, name, salary from table_a order by country;
>> It seems carbon will decode the country column from dictionary value to
>> original value first, and then sort by original value.
>>
>> My question : Is the dictionary value order always the same with original
>> value order?
>> Or if we sort the dictionary value first and then decode to original value,
>> would that be correct operation?
>>
>> BTW: where can I see the algorithm of Dictionary encode(class name or file
>> name)?
>>
>> Thanks,
>> Lionel
>>
邮件免责申明----- 该电子邮件中的信息是保密的,除收件人外任何人无权访问此电子邮件。 如果您不是收件人,公开、复制、分发或基于此封邮件的任何行动,都是禁止的,并可能是违法的。该邮件包含的任何意见与建议均应遵循上汽集团关于信息传递与保密的制度或规定。除经上汽集团信函以正式书面方式确认外,任何相关的内容或信息不得作为正式依据。 Email Disclaimer----- The information in this email is confidential and may be legally privileged. It is intended solely for the addressee. Access to this email by anyone else is unauthorized. If you are not the intended recipient, any disclosure, copying, distribution or any action taken or omitted to be taken in reliance on it, is prohibited and may be unlawful. Any opinions or advice contained in this email are subject to the terms and conditions expressed in the governing SAICMOTOR client engagement letter and should not be relied upon unless they are confirmed in writing on SAICMOTOR's letterhead.