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.
>
>
>
>
>
|