You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kylin.apache.org by Leon Zhang <le...@gmail.com> on 2015/09/14 08:11:58 UTC

Some newbie questions about kylin

Hi, Kylin Developers,

   I am a newbie to Kylin system. During I investigate this awesome system,
these questions come to me:

1.  Can I build a cube from a SQL? For learn_kylin example, the SQL for
"kylin_cube_sales" is:

``` sql
 SELECT
 FACT_TABLE.PART_DT
,FACT_TABLE.LEAF_CATEG_ID
,FACT_TABLE.LSTG_SITE_ID
,LOOKUP_2.META_CATEG_NAME
,LOOKUP_2.CATEG_LVL2_NAME
,LOOKUP_2.CATEG_LVL3_NAME
,FACT_TABLE.LSTG_FORMAT_NAME
,FACT_TABLE.PRICE
,FACT_TABLE.SELLER_ID
FROM DEFAULT.KYLIN_SALES as FACT_TABLE
INNER JOIN DEFAULT.KYLIN_CAL_DT as LOOKUP_1
ON FACT_TABLE.PART_DT = LOOKUP_1.CAL_DT
INNER JOIN DEFAULT.KYLIN_CATEGORY_GROUPINGS as LOOKUP_2
ON FACT_TABLE.LEAF_CATEG_ID = LOOKUP_2.LEAF_CATEG_ID AND
FACT_TABLE.LSTG_SITE_ID = LOOKUP_2.SITE_ID
```

2. Kylin is super fast, can I route *unmatched* query to slow hive engine?
For example, the simple query like "select * from kylin_sales" return a
empty result set. Can I route query like this to the hive engine?


Thanks.

Re: Some newbie questions about kylin

Posted by Li Yang <li...@apache.org>.
> a). SELECT PART_DT FROM kylin_sales;

Well this is a special case for historic reason. Basically Kylin can only
answer queries with "group by". However too many people use "select * from
fact" as a health check after cube build, so we did a hack for similar
queries to return some (incorrect) records. Then the hack is not well
maintained after a certain version... anyway it's empty result right now,
and it's something we will fix.

Please focus on cases like b) where table or column does not match any cube.

On Tue, Sep 15, 2015 at 5:12 PM, Luke Han <lu...@gmail.com> wrote:

> I have to say build a cube is NOT "too complex" with basic knowledge of
> data warehouse and business intelligence.
> All concepts of Kylin are same as traditional products.
>
> Try this page first:
> http://kylin.incubator.apache.org/docs/gettingstarted/terminology.html
>
> and we are introducing new tutorial step by step soon:)
>
> Thanks.
>
>
> Best Regards!
> ---------------------
>
> Luke Han
>
> On Mon, Sep 14, 2015 at 6:06 PM, Leon Zhang <le...@gmail.com> wrote:
>
> > Thank you Li Yang.
> >
> > 1. OK. Cool. Looking forward to discuss about this feature later.
> >
> > 2. I am trying example queries. The exception is not thrown as my
> expected.
> > I tried the following queries:
> >
> > a). SELECT PART_DT FROM kylin_sales;
> > b). SELECT * FROM sample_07;    # the table sample_07 was imported into
> > kylin
> > c). SELECT PART_DT FROM kylin_sales GROUP BY PART_DT;
> >
> > The case b) and c) can be handle as my expected, the b) threw a
> exception,
> > and c) will return correct result set. But, the case a) returned a *empty
> > result set* without any exception.
> >
> > So, I am not sure if it is a feature or a bug.
> >
> > Thanks
> >
> >
> >
> > On Mon, Sep 14, 2015 at 5:10 PM, Li Yang <li...@apache.org> wrote:
> >
> > > 1. Creating a cube right from a SQL is charming. Had discussed this
> idea,
> > > but never come to implement. A big issue is user still have to learn
> cube
> > > concepts, otherwise the auto-generated cube is either too big or the
> > query
> > > is too slow. Still this is a good idea to bootstrap new users.
> > >
> > > 2. Currently Kylin throws exception when no matching cube. You can
> catch
> > > the exception in the frontend and guide user to hive query GUI. That's
> > > perfectly doable, and I believe, very useful too. You may start by
> > calling
> > > Kylin Restful API from javascript [1], and detect error response that
> is
> > > caused by no matching cube.
> > >
> > > [1]
> > >
> >
> http://kylin.incubator.apache.org/docs/howto/howto_use_restapi_in_js.html
> > >
> > >
> > > On Mon, Sep 14, 2015 at 4:50 PM, Leon Zhang <le...@gmail.com>
> wrote:
> > >
> > > > Thank you Li Yang for you quick reply.
> > > >
> > > > 1. From a newbie's view, create a cube is too complex. How about if
> > user
> > > > provide a SQL, kylin can automatically generate the model json and
> cube
> > > > json?
> > > >
> > > > 2. IMHO, SparkSQL can be faster, but, it may still take hours. Can
> > kylin
> > > > provide such API, that *test* if the query can be handled by any
> cube.
> > If
> > > > not, user can *directly* call hive-server2 for slow query?
> > > >
> > > > I am willing to hear about detailed advises, so that I can hack Kylin
> > to
> > > > implement these potential features.
> > > >
> > > > Thanks.
> > > >
> > > >
> > > > On Mon, Sep 14, 2015 at 4:33 PM, Li Yang <li...@apache.org> wrote:
> > > >
> > > > > 1. You can create a view using the SQL, then let the view be Kylin
> > fact
> > > > > table and build cube from it.
> > > > >
> > > > > 2. Technically yes, but the routing feature is disabled long ago.
> We
> > > had
> > > > > the same re-route idea in early PoC of Kylin. Later it turns out
> hive
> > > is
> > > > > too slow, and when mixed up, a query sometimes returns in seconds,
> > > > > sometimes in hours, the user experience is very bad. The feature is
> > > then
> > > > > disabled and never maintained any more. The idea is still valid, we
> > may
> > > > > implement when hive speed catches up, or route to some faster SQL
> > > engine,
> > > > > like SparkSQL. KYLIN-742 <
> > > > https://issues.apache.org/jira/browse/KYLIN-742>
> > > > >
> > > > >
> > > > > On Mon, Sep 14, 2015 at 2:11 PM, Leon Zhang <le...@gmail.com>
> > > wrote:
> > > > >
> > > > > > Hi, Kylin Developers,
> > > > > >
> > > > > >    I am a newbie to Kylin system. During I investigate this
> awesome
> > > > > system,
> > > > > > these questions come to me:
> > > > > >
> > > > > > 1.  Can I build a cube from a SQL? For learn_kylin example, the
> SQL
> > > for
> > > > > > "kylin_cube_sales" is:
> > > > > >
> > > > > > ``` sql
> > > > > >  SELECT
> > > > > >  FACT_TABLE.PART_DT
> > > > > > ,FACT_TABLE.LEAF_CATEG_ID
> > > > > > ,FACT_TABLE.LSTG_SITE_ID
> > > > > > ,LOOKUP_2.META_CATEG_NAME
> > > > > > ,LOOKUP_2.CATEG_LVL2_NAME
> > > > > > ,LOOKUP_2.CATEG_LVL3_NAME
> > > > > > ,FACT_TABLE.LSTG_FORMAT_NAME
> > > > > > ,FACT_TABLE.PRICE
> > > > > > ,FACT_TABLE.SELLER_ID
> > > > > > FROM DEFAULT.KYLIN_SALES as FACT_TABLE
> > > > > > INNER JOIN DEFAULT.KYLIN_CAL_DT as LOOKUP_1
> > > > > > ON FACT_TABLE.PART_DT = LOOKUP_1.CAL_DT
> > > > > > INNER JOIN DEFAULT.KYLIN_CATEGORY_GROUPINGS as LOOKUP_2
> > > > > > ON FACT_TABLE.LEAF_CATEG_ID = LOOKUP_2.LEAF_CATEG_ID AND
> > > > > > FACT_TABLE.LSTG_SITE_ID = LOOKUP_2.SITE_ID
> > > > > > ```
> > > > > >
> > > > > > 2. Kylin is super fast, can I route *unmatched* query to slow
> hive
> > > > > engine?
> > > > > > For example, the simple query like "select * from kylin_sales"
> > > return a
> > > > > > empty result set. Can I route query like this to the hive engine?
> > > > > >
> > > > > >
> > > > > > Thanks.
> > > > > >
> > > > >
> > > >
> > >
> >
>

Re: Some newbie questions about kylin

Posted by Luke Han <lu...@gmail.com>.
I have to say build a cube is NOT "too complex" with basic knowledge of
data warehouse and business intelligence.
All concepts of Kylin are same as traditional products.

Try this page first:
http://kylin.incubator.apache.org/docs/gettingstarted/terminology.html

and we are introducing new tutorial step by step soon:)

Thanks.


Best Regards!
---------------------

Luke Han

On Mon, Sep 14, 2015 at 6:06 PM, Leon Zhang <le...@gmail.com> wrote:

> Thank you Li Yang.
>
> 1. OK. Cool. Looking forward to discuss about this feature later.
>
> 2. I am trying example queries. The exception is not thrown as my expected.
> I tried the following queries:
>
> a). SELECT PART_DT FROM kylin_sales;
> b). SELECT * FROM sample_07;    # the table sample_07 was imported into
> kylin
> c). SELECT PART_DT FROM kylin_sales GROUP BY PART_DT;
>
> The case b) and c) can be handle as my expected, the b) threw a exception,
> and c) will return correct result set. But, the case a) returned a *empty
> result set* without any exception.
>
> So, I am not sure if it is a feature or a bug.
>
> Thanks
>
>
>
> On Mon, Sep 14, 2015 at 5:10 PM, Li Yang <li...@apache.org> wrote:
>
> > 1. Creating a cube right from a SQL is charming. Had discussed this idea,
> > but never come to implement. A big issue is user still have to learn cube
> > concepts, otherwise the auto-generated cube is either too big or the
> query
> > is too slow. Still this is a good idea to bootstrap new users.
> >
> > 2. Currently Kylin throws exception when no matching cube. You can catch
> > the exception in the frontend and guide user to hive query GUI. That's
> > perfectly doable, and I believe, very useful too. You may start by
> calling
> > Kylin Restful API from javascript [1], and detect error response that is
> > caused by no matching cube.
> >
> > [1]
> >
> http://kylin.incubator.apache.org/docs/howto/howto_use_restapi_in_js.html
> >
> >
> > On Mon, Sep 14, 2015 at 4:50 PM, Leon Zhang <le...@gmail.com> wrote:
> >
> > > Thank you Li Yang for you quick reply.
> > >
> > > 1. From a newbie's view, create a cube is too complex. How about if
> user
> > > provide a SQL, kylin can automatically generate the model json and cube
> > > json?
> > >
> > > 2. IMHO, SparkSQL can be faster, but, it may still take hours. Can
> kylin
> > > provide such API, that *test* if the query can be handled by any cube.
> If
> > > not, user can *directly* call hive-server2 for slow query?
> > >
> > > I am willing to hear about detailed advises, so that I can hack Kylin
> to
> > > implement these potential features.
> > >
> > > Thanks.
> > >
> > >
> > > On Mon, Sep 14, 2015 at 4:33 PM, Li Yang <li...@apache.org> wrote:
> > >
> > > > 1. You can create a view using the SQL, then let the view be Kylin
> fact
> > > > table and build cube from it.
> > > >
> > > > 2. Technically yes, but the routing feature is disabled long ago. We
> > had
> > > > the same re-route idea in early PoC of Kylin. Later it turns out hive
> > is
> > > > too slow, and when mixed up, a query sometimes returns in seconds,
> > > > sometimes in hours, the user experience is very bad. The feature is
> > then
> > > > disabled and never maintained any more. The idea is still valid, we
> may
> > > > implement when hive speed catches up, or route to some faster SQL
> > engine,
> > > > like SparkSQL. KYLIN-742 <
> > > https://issues.apache.org/jira/browse/KYLIN-742>
> > > >
> > > >
> > > > On Mon, Sep 14, 2015 at 2:11 PM, Leon Zhang <le...@gmail.com>
> > wrote:
> > > >
> > > > > Hi, Kylin Developers,
> > > > >
> > > > >    I am a newbie to Kylin system. During I investigate this awesome
> > > > system,
> > > > > these questions come to me:
> > > > >
> > > > > 1.  Can I build a cube from a SQL? For learn_kylin example, the SQL
> > for
> > > > > "kylin_cube_sales" is:
> > > > >
> > > > > ``` sql
> > > > >  SELECT
> > > > >  FACT_TABLE.PART_DT
> > > > > ,FACT_TABLE.LEAF_CATEG_ID
> > > > > ,FACT_TABLE.LSTG_SITE_ID
> > > > > ,LOOKUP_2.META_CATEG_NAME
> > > > > ,LOOKUP_2.CATEG_LVL2_NAME
> > > > > ,LOOKUP_2.CATEG_LVL3_NAME
> > > > > ,FACT_TABLE.LSTG_FORMAT_NAME
> > > > > ,FACT_TABLE.PRICE
> > > > > ,FACT_TABLE.SELLER_ID
> > > > > FROM DEFAULT.KYLIN_SALES as FACT_TABLE
> > > > > INNER JOIN DEFAULT.KYLIN_CAL_DT as LOOKUP_1
> > > > > ON FACT_TABLE.PART_DT = LOOKUP_1.CAL_DT
> > > > > INNER JOIN DEFAULT.KYLIN_CATEGORY_GROUPINGS as LOOKUP_2
> > > > > ON FACT_TABLE.LEAF_CATEG_ID = LOOKUP_2.LEAF_CATEG_ID AND
> > > > > FACT_TABLE.LSTG_SITE_ID = LOOKUP_2.SITE_ID
> > > > > ```
> > > > >
> > > > > 2. Kylin is super fast, can I route *unmatched* query to slow hive
> > > > engine?
> > > > > For example, the simple query like "select * from kylin_sales"
> > return a
> > > > > empty result set. Can I route query like this to the hive engine?
> > > > >
> > > > >
> > > > > Thanks.
> > > > >
> > > >
> > >
> >
>

Re: Some newbie questions about kylin

Posted by Leon Zhang <le...@gmail.com>.
Thank you Li Yang.

1. OK. Cool. Looking forward to discuss about this feature later.

2. I am trying example queries. The exception is not thrown as my expected.
I tried the following queries:

a). SELECT PART_DT FROM kylin_sales;
b). SELECT * FROM sample_07;    # the table sample_07 was imported into
kylin
c). SELECT PART_DT FROM kylin_sales GROUP BY PART_DT;

The case b) and c) can be handle as my expected, the b) threw a exception,
and c) will return correct result set. But, the case a) returned a *empty
result set* without any exception.

So, I am not sure if it is a feature or a bug.

Thanks



On Mon, Sep 14, 2015 at 5:10 PM, Li Yang <li...@apache.org> wrote:

> 1. Creating a cube right from a SQL is charming. Had discussed this idea,
> but never come to implement. A big issue is user still have to learn cube
> concepts, otherwise the auto-generated cube is either too big or the query
> is too slow. Still this is a good idea to bootstrap new users.
>
> 2. Currently Kylin throws exception when no matching cube. You can catch
> the exception in the frontend and guide user to hive query GUI. That's
> perfectly doable, and I believe, very useful too. You may start by calling
> Kylin Restful API from javascript [1], and detect error response that is
> caused by no matching cube.
>
> [1]
> http://kylin.incubator.apache.org/docs/howto/howto_use_restapi_in_js.html
>
>
> On Mon, Sep 14, 2015 at 4:50 PM, Leon Zhang <le...@gmail.com> wrote:
>
> > Thank you Li Yang for you quick reply.
> >
> > 1. From a newbie's view, create a cube is too complex. How about if user
> > provide a SQL, kylin can automatically generate the model json and cube
> > json?
> >
> > 2. IMHO, SparkSQL can be faster, but, it may still take hours. Can kylin
> > provide such API, that *test* if the query can be handled by any cube. If
> > not, user can *directly* call hive-server2 for slow query?
> >
> > I am willing to hear about detailed advises, so that I can hack Kylin to
> > implement these potential features.
> >
> > Thanks.
> >
> >
> > On Mon, Sep 14, 2015 at 4:33 PM, Li Yang <li...@apache.org> wrote:
> >
> > > 1. You can create a view using the SQL, then let the view be Kylin fact
> > > table and build cube from it.
> > >
> > > 2. Technically yes, but the routing feature is disabled long ago. We
> had
> > > the same re-route idea in early PoC of Kylin. Later it turns out hive
> is
> > > too slow, and when mixed up, a query sometimes returns in seconds,
> > > sometimes in hours, the user experience is very bad. The feature is
> then
> > > disabled and never maintained any more. The idea is still valid, we may
> > > implement when hive speed catches up, or route to some faster SQL
> engine,
> > > like SparkSQL. KYLIN-742 <
> > https://issues.apache.org/jira/browse/KYLIN-742>
> > >
> > >
> > > On Mon, Sep 14, 2015 at 2:11 PM, Leon Zhang <le...@gmail.com>
> wrote:
> > >
> > > > Hi, Kylin Developers,
> > > >
> > > >    I am a newbie to Kylin system. During I investigate this awesome
> > > system,
> > > > these questions come to me:
> > > >
> > > > 1.  Can I build a cube from a SQL? For learn_kylin example, the SQL
> for
> > > > "kylin_cube_sales" is:
> > > >
> > > > ``` sql
> > > >  SELECT
> > > >  FACT_TABLE.PART_DT
> > > > ,FACT_TABLE.LEAF_CATEG_ID
> > > > ,FACT_TABLE.LSTG_SITE_ID
> > > > ,LOOKUP_2.META_CATEG_NAME
> > > > ,LOOKUP_2.CATEG_LVL2_NAME
> > > > ,LOOKUP_2.CATEG_LVL3_NAME
> > > > ,FACT_TABLE.LSTG_FORMAT_NAME
> > > > ,FACT_TABLE.PRICE
> > > > ,FACT_TABLE.SELLER_ID
> > > > FROM DEFAULT.KYLIN_SALES as FACT_TABLE
> > > > INNER JOIN DEFAULT.KYLIN_CAL_DT as LOOKUP_1
> > > > ON FACT_TABLE.PART_DT = LOOKUP_1.CAL_DT
> > > > INNER JOIN DEFAULT.KYLIN_CATEGORY_GROUPINGS as LOOKUP_2
> > > > ON FACT_TABLE.LEAF_CATEG_ID = LOOKUP_2.LEAF_CATEG_ID AND
> > > > FACT_TABLE.LSTG_SITE_ID = LOOKUP_2.SITE_ID
> > > > ```
> > > >
> > > > 2. Kylin is super fast, can I route *unmatched* query to slow hive
> > > engine?
> > > > For example, the simple query like "select * from kylin_sales"
> return a
> > > > empty result set. Can I route query like this to the hive engine?
> > > >
> > > >
> > > > Thanks.
> > > >
> > >
> >
>

Re: Some newbie questions about kylin

Posted by Li Yang <li...@apache.org>.
1. Creating a cube right from a SQL is charming. Had discussed this idea,
but never come to implement. A big issue is user still have to learn cube
concepts, otherwise the auto-generated cube is either too big or the query
is too slow. Still this is a good idea to bootstrap new users.

2. Currently Kylin throws exception when no matching cube. You can catch
the exception in the frontend and guide user to hive query GUI. That's
perfectly doable, and I believe, very useful too. You may start by calling
Kylin Restful API from javascript [1], and detect error response that is
caused by no matching cube.

[1]
http://kylin.incubator.apache.org/docs/howto/howto_use_restapi_in_js.html


On Mon, Sep 14, 2015 at 4:50 PM, Leon Zhang <le...@gmail.com> wrote:

> Thank you Li Yang for you quick reply.
>
> 1. From a newbie's view, create a cube is too complex. How about if user
> provide a SQL, kylin can automatically generate the model json and cube
> json?
>
> 2. IMHO, SparkSQL can be faster, but, it may still take hours. Can kylin
> provide such API, that *test* if the query can be handled by any cube. If
> not, user can *directly* call hive-server2 for slow query?
>
> I am willing to hear about detailed advises, so that I can hack Kylin to
> implement these potential features.
>
> Thanks.
>
>
> On Mon, Sep 14, 2015 at 4:33 PM, Li Yang <li...@apache.org> wrote:
>
> > 1. You can create a view using the SQL, then let the view be Kylin fact
> > table and build cube from it.
> >
> > 2. Technically yes, but the routing feature is disabled long ago. We had
> > the same re-route idea in early PoC of Kylin. Later it turns out hive is
> > too slow, and when mixed up, a query sometimes returns in seconds,
> > sometimes in hours, the user experience is very bad. The feature is then
> > disabled and never maintained any more. The idea is still valid, we may
> > implement when hive speed catches up, or route to some faster SQL engine,
> > like SparkSQL. KYLIN-742 <
> https://issues.apache.org/jira/browse/KYLIN-742>
> >
> >
> > On Mon, Sep 14, 2015 at 2:11 PM, Leon Zhang <le...@gmail.com> wrote:
> >
> > > Hi, Kylin Developers,
> > >
> > >    I am a newbie to Kylin system. During I investigate this awesome
> > system,
> > > these questions come to me:
> > >
> > > 1.  Can I build a cube from a SQL? For learn_kylin example, the SQL for
> > > "kylin_cube_sales" is:
> > >
> > > ``` sql
> > >  SELECT
> > >  FACT_TABLE.PART_DT
> > > ,FACT_TABLE.LEAF_CATEG_ID
> > > ,FACT_TABLE.LSTG_SITE_ID
> > > ,LOOKUP_2.META_CATEG_NAME
> > > ,LOOKUP_2.CATEG_LVL2_NAME
> > > ,LOOKUP_2.CATEG_LVL3_NAME
> > > ,FACT_TABLE.LSTG_FORMAT_NAME
> > > ,FACT_TABLE.PRICE
> > > ,FACT_TABLE.SELLER_ID
> > > FROM DEFAULT.KYLIN_SALES as FACT_TABLE
> > > INNER JOIN DEFAULT.KYLIN_CAL_DT as LOOKUP_1
> > > ON FACT_TABLE.PART_DT = LOOKUP_1.CAL_DT
> > > INNER JOIN DEFAULT.KYLIN_CATEGORY_GROUPINGS as LOOKUP_2
> > > ON FACT_TABLE.LEAF_CATEG_ID = LOOKUP_2.LEAF_CATEG_ID AND
> > > FACT_TABLE.LSTG_SITE_ID = LOOKUP_2.SITE_ID
> > > ```
> > >
> > > 2. Kylin is super fast, can I route *unmatched* query to slow hive
> > engine?
> > > For example, the simple query like "select * from kylin_sales" return a
> > > empty result set. Can I route query like this to the hive engine?
> > >
> > >
> > > Thanks.
> > >
> >
>

Re: Some newbie questions about kylin

Posted by Leon Zhang <le...@gmail.com>.
Thank you Li Yang for you quick reply.

1. From a newbie's view, create a cube is too complex. How about if user
provide a SQL, kylin can automatically generate the model json and cube
json?

2. IMHO, SparkSQL can be faster, but, it may still take hours. Can kylin
provide such API, that *test* if the query can be handled by any cube. If
not, user can *directly* call hive-server2 for slow query?

I am willing to hear about detailed advises, so that I can hack Kylin to
implement these potential features.

Thanks.


On Mon, Sep 14, 2015 at 4:33 PM, Li Yang <li...@apache.org> wrote:

> 1. You can create a view using the SQL, then let the view be Kylin fact
> table and build cube from it.
>
> 2. Technically yes, but the routing feature is disabled long ago. We had
> the same re-route idea in early PoC of Kylin. Later it turns out hive is
> too slow, and when mixed up, a query sometimes returns in seconds,
> sometimes in hours, the user experience is very bad. The feature is then
> disabled and never maintained any more. The idea is still valid, we may
> implement when hive speed catches up, or route to some faster SQL engine,
> like SparkSQL. KYLIN-742 <https://issues.apache.org/jira/browse/KYLIN-742>
>
>
> On Mon, Sep 14, 2015 at 2:11 PM, Leon Zhang <le...@gmail.com> wrote:
>
> > Hi, Kylin Developers,
> >
> >    I am a newbie to Kylin system. During I investigate this awesome
> system,
> > these questions come to me:
> >
> > 1.  Can I build a cube from a SQL? For learn_kylin example, the SQL for
> > "kylin_cube_sales" is:
> >
> > ``` sql
> >  SELECT
> >  FACT_TABLE.PART_DT
> > ,FACT_TABLE.LEAF_CATEG_ID
> > ,FACT_TABLE.LSTG_SITE_ID
> > ,LOOKUP_2.META_CATEG_NAME
> > ,LOOKUP_2.CATEG_LVL2_NAME
> > ,LOOKUP_2.CATEG_LVL3_NAME
> > ,FACT_TABLE.LSTG_FORMAT_NAME
> > ,FACT_TABLE.PRICE
> > ,FACT_TABLE.SELLER_ID
> > FROM DEFAULT.KYLIN_SALES as FACT_TABLE
> > INNER JOIN DEFAULT.KYLIN_CAL_DT as LOOKUP_1
> > ON FACT_TABLE.PART_DT = LOOKUP_1.CAL_DT
> > INNER JOIN DEFAULT.KYLIN_CATEGORY_GROUPINGS as LOOKUP_2
> > ON FACT_TABLE.LEAF_CATEG_ID = LOOKUP_2.LEAF_CATEG_ID AND
> > FACT_TABLE.LSTG_SITE_ID = LOOKUP_2.SITE_ID
> > ```
> >
> > 2. Kylin is super fast, can I route *unmatched* query to slow hive
> engine?
> > For example, the simple query like "select * from kylin_sales" return a
> > empty result set. Can I route query like this to the hive engine?
> >
> >
> > Thanks.
> >
>

Re: Some newbie questions about kylin

Posted by Li Yang <li...@apache.org>.
1. You can create a view using the SQL, then let the view be Kylin fact
table and build cube from it.

2. Technically yes, but the routing feature is disabled long ago. We had
the same re-route idea in early PoC of Kylin. Later it turns out hive is
too slow, and when mixed up, a query sometimes returns in seconds,
sometimes in hours, the user experience is very bad. The feature is then
disabled and never maintained any more. The idea is still valid, we may
implement when hive speed catches up, or route to some faster SQL engine,
like SparkSQL. KYLIN-742 <https://issues.apache.org/jira/browse/KYLIN-742>


On Mon, Sep 14, 2015 at 2:11 PM, Leon Zhang <le...@gmail.com> wrote:

> Hi, Kylin Developers,
>
>    I am a newbie to Kylin system. During I investigate this awesome system,
> these questions come to me:
>
> 1.  Can I build a cube from a SQL? For learn_kylin example, the SQL for
> "kylin_cube_sales" is:
>
> ``` sql
>  SELECT
>  FACT_TABLE.PART_DT
> ,FACT_TABLE.LEAF_CATEG_ID
> ,FACT_TABLE.LSTG_SITE_ID
> ,LOOKUP_2.META_CATEG_NAME
> ,LOOKUP_2.CATEG_LVL2_NAME
> ,LOOKUP_2.CATEG_LVL3_NAME
> ,FACT_TABLE.LSTG_FORMAT_NAME
> ,FACT_TABLE.PRICE
> ,FACT_TABLE.SELLER_ID
> FROM DEFAULT.KYLIN_SALES as FACT_TABLE
> INNER JOIN DEFAULT.KYLIN_CAL_DT as LOOKUP_1
> ON FACT_TABLE.PART_DT = LOOKUP_1.CAL_DT
> INNER JOIN DEFAULT.KYLIN_CATEGORY_GROUPINGS as LOOKUP_2
> ON FACT_TABLE.LEAF_CATEG_ID = LOOKUP_2.LEAF_CATEG_ID AND
> FACT_TABLE.LSTG_SITE_ID = LOOKUP_2.SITE_ID
> ```
>
> 2. Kylin is super fast, can I route *unmatched* query to slow hive engine?
> For example, the simple query like "select * from kylin_sales" return a
> empty result set. Can I route query like this to the hive engine?
>
>
> Thanks.
>