Hi Kylin community,
I'm trying to analyze data from Kylin 1.6 cube using Tableau 10.2
desktop. Following the guide published for Tableau 9 at
http://kylin.apache.org/docs20/tutorial/tableau_91.html , I can connect
and perform some analysis over data. However I have experimented the
following annoying issues:
1. I drag and drop the fact table (about 100 million rows) to the data
sources canvas. Then, when I click on "Update Now" button sometimes
Tableau and Kylin crash, after a while waiting for data source query
dialog.
* When it happens Kylin log just show the following warning:
o 2017-04-21 15:37:30,353 WARN[Query
c01e6b99-557f-4453-ada1-46bd8845fa10-154]
sizeof.ObjectGraphWalker:209 : The configured limit of 1.000
object references was reached while attempting to calculate
the size of the object graph. Severe performance degradation
could occur if the sizing operation continues. This can be
avoided by setting the CacheManger or Cache <sizeOfPolicy>
elements maxDepthExceededBehavior to "abort" or adding stop
points with @IgnoreSizeOf annotations. If performance
degradation is NOT an issue at the configured limit, raise
the limit value using the CacheManager or Cache
<sizeOfPolicy> elements maxDepth attribute. For more
information, see the Ehcache configuration documentation.
* The above issue never happens with dimension tables. Maybe due
to they have lower cardinality than fact fable.
2. The above issue does not always happen and I was able to develop a
dashboard with my Kylin Data Source. However I also experimented the
same issue when I open my saved Tableau project with Kylin
dashboard. In this case, Tableau can not connect to data source and
Kylin crash.
3. The above issue never happens when I define a custom SQL for fact
table. However this only goes well when I use Custom SQL without
joins. That way lead to bad queries If i try to perform joins
between fact (custom sql) and dimension tables.
* For example, the following bad query is generated by Tableau and
seems not supported by Kylin.
o SELECT "F_RENDIMIENTO_VT"."CREDITOS" AS "CREDITOS",
"F_RENDIMIENTO_VT"."FLG_CALCULO_TASAS" AS
"FLG_CALCULO_TASAS",
"F_RENDIMIENTO_VT"."FLG_MATRICULADA" AS "FLG_MATRICULADA",
"F_RENDIMIENTO_VT"."FLG_PRESENTADA" AS "FLG_PRESENTADA",
"F_RENDIMIENTO_VT"."FLG_SUPERADA" AS "FLG_SUPERADA",
"F_RENDIMIENTO_VT"."ID_CURSO_ACADEMICO" AS
"ID_CURSO_ACADEMICO",
"F_RENDIMIENTO_VT"."ID_PLAN_ESTUDIO" AS "ID_PLAN_ESTUDIO",
"F_RENDIMIENTO_VT"."ID_RANGO_EDAD" AS "ID_RANGO_EDAD",
"D_RANGO_EDAD_VK"."ID_RANGO_EDAD" AS
"ID_RANGO_EDAD__D_RANGO_EDAD_VK_",
"F_RENDIMIENTO_VT"."ID_SEXO" AS "ID_SEXO",
"D_RANGO_EDAD_VK"."NOMBRE_RANGO_EDAD" AS "NOMBRE_RANGO_EDAD",
1 AS "Number_of_Records"
FROM (
SELECT "F_RENDIMIENTO"."CREDITOS" AS "CREDITOS",
"F_RENDIMIENTO"."FLG_CALCULO_TASAS" AS "FLG_CALCULO_TASAS",
"F_RENDIMIENTO"."FLG_MATRICULADA" AS "FLG_MATRICULADA",
"F_RENDIMIENTO"."FLG_PRESENTADA" AS "FLG_PRESENTADA",
"F_RENDIMIENTO"."FLG_SUPERADA" AS "FLG_SUPERADA",
"F_RENDIMIENTO"."ID_CURSO_ACADEMICO" AS
"ID_CURSO_ACADEMICO",
"F_RENDIMIENTO"."ID_PLAN_ESTUDIO" AS "ID_PLAN_ESTUDIO",
"F_RENDIMIENTO"."ID_RANGO_EDAD" AS "ID_RANGO_EDAD",
"F_RENDIMIENTO"."ID_SEXO" AS "ID_SEXO"
FROM "DM_ACAD_KYLIN_ORC"."F_RENDIMIENTO" "F_RENDIMIENTO"
LIMIT 10000
) "F_RENDIMIENTO_VT"
INNER JOIN "DM_ACAD_KYLIN_ORC"."D_RANGO_EDAD_VK"
"D_RANGO_EDAD_VK" ON ("F_RENDIMIENTO_VT"."ID_RANGO_EDAD" =
"D_RANGO_EDAD_VK"."ID_RANGO_EDAD")
LIMIT 1000
*¿Has someone experimented similar issues with Tableau 10.2 or previous
versions? **
*
*¿Any solutions or other workarounds?*
Kind regards, I will appreciate your help
--
*Roberto Tardío Olmos*
/Senior Big Data & Business Intelligence Consultant/
Avenida de Brasil, 17, Planta 16.
28020 Madrid
Fijo: 91.788.34.10