drill-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Kincaid <kincaid.d...@gmail.com>
Subject Re: Drill query planning taking a LONG time
Date Mon, 13 Feb 2017 21:51:33 GMT
Here is the entire transactionView.view.drill file. As you can see the view
itself is very simple and is just wrapping a syntactic problem with the
array field. That's an issue I reported in Jira under DRILL-5183 (
https://issues.apache.org/jira/browse/DRILL-5183)

{
  "name" : "transactionView",
  "sql" : "SELECT `transactionRowKey`, `sapId`, `practiceName`,
`practiceCity`, `practiceState`, `practicePostalCode`, `animalId`,
`dateOfBirth`, `species`, `breed`, `gender`, `status`, `ownerId`,
`itemType`, `classification`, `subclass`, `practiceDescription`,
`clientDescription`, `invoiceId`, `unitOfMeasure`, `vendorName`, `vaccine`,
`rabies`, `vaccineType`, `price`, `quantity`, `transactionDate`,
`visitReason`, `speciesCode`, `genderCode`, `t`.`classLabels`['array'] AS
`classLabels`\nFROM `dfs`.`/parquet/transaction` AS `t`",
  "fields" : [ {
    "name" : "transactionRowKey",
    "type" : "ANY",
    "isNullable" : true
  }, {
    "name" : "sapId",
    "type" : "ANY",
    "isNullable" : true
  }, {
    "name" : "practiceName",
    "type" : "ANY",
    "isNullable" : true
  }, {
    "name" : "practiceCity",
    "type" : "ANY",
    "isNullable" : true
  }, {
    "name" : "practiceState",
    "type" : "ANY",
    "isNullable" : true
  }, {
    "name" : "practicePostalCode",
    "type" : "ANY",
    "isNullable" : true
  }, {
    "name" : "animalId",
    "type" : "ANY",
    "isNullable" : true
  }, {
    "name" : "dateOfBirth",
    "type" : "ANY",
    "isNullable" : true
  }, {
    "name" : "species",
    "type" : "ANY",
    "isNullable" : true
  }, {
    "name" : "breed",
    "type" : "ANY",
    "isNullable" : true
  }, {
    "name" : "gender",
    "type" : "ANY",
    "isNullable" : true
  }, {
    "name" : "status",
    "type" : "ANY",
    "isNullable" : true
  }, {
    "name" : "ownerId",
    "type" : "ANY",
    "isNullable" : true
  }, {
    "name" : "itemType",
    "type" : "ANY",
    "isNullable" : true
  }, {
    "name" : "classification",
    "type" : "ANY",
    "isNullable" : true
  }, {
    "name" : "subclass",
    "type" : "ANY",
    "isNullable" : true
  }, {
    "name" : "practiceDescription",
    "type" : "ANY",
    "isNullable" : true
  }, {
    "name" : "clientDescription",
    "type" : "ANY",
    "isNullable" : true
  }, {
    "name" : "invoiceId",
    "type" : "ANY",
    "isNullable" : true
  }, {
    "name" : "unitOfMeasure",
    "type" : "ANY",
    "isNullable" : true
  }, {
    "name" : "vendorName",
    "type" : "ANY",
    "isNullable" : true
  }, {
    "name" : "vaccine",
    "type" : "ANY",
    "isNullable" : true
  }, {
    "name" : "rabies",
    "type" : "ANY",
    "isNullable" : true
  }, {
    "name" : "vaccineType",
    "type" : "ANY",
    "isNullable" : true
  }, {
    "name" : "price",
    "type" : "ANY",
    "isNullable" : true
  }, {
    "name" : "quantity",
    "type" : "ANY",
    "isNullable" : true
  }, {
    "name" : "transactionDate",
    "type" : "ANY",
    "isNullable" : true
  }, {
    "name" : "visitReason",
    "type" : "ANY",
    "isNullable" : true
  }, {
    "name" : "speciesCode",
    "type" : "ANY",
    "isNullable" : true
  }, {
    "name" : "genderCode",
    "type" : "ANY",
    "isNullable" : true
  }, {
    "name" : "classLabels",
    "type" : "ANY",
    "isNullable" : true
  } ],
  "workspaceSchemaPath" : [ ]
}

On Mon, Feb 13, 2017 at 3:47 PM, Jinfeng Ni <jni@apache.org> wrote:

> Yes, the log confirmed that the planning, especially physical
> planning, is the one that took most of the time.
>
> If the definition of view s3.cisexport.transactionView is not very
> complicated (involves large # of tables), then it's possible that some
> planner rules have a bug. (In the past, we once saw couple of planner
> rules would be fired in a loop).
>
> Is it possible that you can share the DDL of the view?  That may help
> us re-produce the problem and take a look at the trace of Calcite,
> which Drill uses as the query planner.
>
>
>
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message