You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pinot.apache.org by Pinot Slack Email Digest <sn...@apache.org> on 2020/07/12 02:00:08 UTC

Apache Pinot Daily Email Digest (2020-07-11)

<h3><u>#general</u></h3><br><strong>@kanth909: </strong><https://u17000708.ct.sendgrid.net/ls/click?upn=1BiFF0-2FtVRazUn1cLzaiMfqYsxUxY3tMgaREaFijmtA2t4OTJPSnmtRwiFyyArHF1Dm9g3qwQwBkvW7Agej6LDe7Z4GDYavFmLgmWnewPow-3DliBc_vGLQYiKGfBLXsUt3KGBrxeq6BCTMpPOLROqAvDqBeTzfOJ-2F9ehHGxO0P6TpksYWC8tnc3O8PTg6XqUim9H2CPVBOX-2BY6vtdspsYbiZx9WD3xLQEgGlG5CbRhq5BcXEJ7-2Bf-2BokQ3KQvNEl5ENdYkFVZ8avZl9rH-2BDgzfBewSQruwaEXGgWB70fCPxn3GR1gO1kghqrEhsWZJqMc1ZtVnDKPTuqrfeue5RwzH-2B5COcSfM-3D><br><strong>@kanth909: </strong>The article says &lt;1sec for approximately 1B rows. what is the average data size used?<br><strong>@mayanks: </strong>@hbwang89 ^^<br><strong>@kanth909: </strong>can I do pagination using presto and pinot on the joined result set? for example can I get 10K rows at a time up to say 1M? Currently we use ES and it display only 10K rows(without joins) by default and anything beyond that there is scroll API however it doesn't quite work well and takes a lot time<br><h3><u>#jdbc-connector</u></h3><br><strong>@kharekartik: </strong>There's this check in CalciteSqlParser
```if (aliasKeys.contains(selectExpr.getIdentifier().getName().toLowerCase())) {
        throw new SqlCompilationException(
            "Alias " + selectExpr.getIdentifier().getName() + " cannot be referred in SELECT Clause");
}```
which prevents queries of the format `SELECT playerName AS playerName from baseballStats`<br><strong>@kharekartik: </strong>what is the reason behind restricting this?<br><strong>@kharekartik: </strong>Also, to support
`SELECT baseballStats.playerName from baseballStats`
The only change which comes to my mind is this
```        if (node.toString().startsWith(_table)) {
          return RequestUtils.getIdentifierExpression(node.toString().substring(_table.length() + 1));
        }```<br><strong>@kharekartik: </strong>in the function
```private static Expression toExpression(SqlNode node) {
  LOGGER.debug("Current processing SqlNode: {}, node.getKind(): {}", node, node.getKind());
  switch (node.getKind()) {
    case IDENTIFIER:```
<br><strong>@fx19880617: </strong>I’ll take care.
<br><strong>@kharekartik: </strong>cool.<br><strong>@kharekartik: </strong>Some success on integration with Tableau<br><strong>@g.kishore: </strong>Wow.<br><strong>@g.kishore: </strong>How can I try this?<br><strong>@kharekartik: </strong>I have made some bug fix in jdbc
apart from that I did a hack in CalciteSqlParser to remove tableName from tableName.columnName
plus disable the alias validation check<br><strong>@g.kishore: </strong>ok<br><strong>@kharekartik: </strong>I think after @fx19880617 fixes in parser, we should be good to go<br><strong>@fx19880617: </strong>yeah :slightly_smiling_face:<br><strong>@g.kishore: </strong>metabase, redash are other UI options<br>