paimon icon indicating copy to clipboard operation
paimon copied to clipboard

[Bug] "show table extended like" sql is not supported

Open melin opened this issue 1 year ago • 2 comments

Search before asking

  • [X] I searched in the issues and found nothing similar.

Paimon version

0.8.1

Compute Engine

spark

Minimal reproduce step

show table extended like 'paimon_order_pt_tag' PARTITION (pt='20240701')

24/07/05 23:34:50 ERROR SparkDriverRest: pt is not a valid partition column in table `hive_metastore`.`bigdata`.`paimon_order_pt_tag`.
org.apache.spark.sql.AnalysisException: pt is not a valid partition column in table `hive_metastore`.`bigdata`.`paimon_order_pt_tag`.
        at org.apache.spark.sql.errors.QueryCompilationErrors$.invalidPartitionColumnKeyInTableError(QueryCompilationErrors.scala:2432)
        at org.apache.spark.sql.util.PartitioningUtils$.$anonfun$normalizePartitionSpec$3(PartitioningUtils.scala:78)
        at scala.Option.getOrElse(Option.scala:189)
        at org.apache.spark.sql.util.PartitioningUtils$.$anonfun$normalizePartitionSpec$1(PartitioningUtils.scala:78)
        at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:286)
        at scala.collection.Iterator.foreach(Iterator.scala:943)
        at scala.collection.Iterator.foreach$(Iterator.scala:943)
        at scala.collection.AbstractIterator.foreach(Iterator.scala:1431)
        at scala.collection.IterableLike.foreach(IterableLike.scala:74)
        at scala.collection.IterableLike.foreach$(IterableLike.scala:73)
        at scala.collection.AbstractIterable.foreach(Iterable.scala:56)
        at scala.collection.TraversableLike.map(TraversableLike.scala:286)
        at scala.collection.TraversableLike.map$(TraversableLike.scala:279)
        at scala.collection.AbstractTraversable.map(Traversable.scala:108)
        at org.apache.spark.sql.util.PartitioningUtils$.normalizePartitionSpec(PartitioningUtils.scala:76)
        at org.apache.spark.sql.execution.command.ShowTablesCommand.run(tables.scala:911)
        at org.apache.spark.sql.execution.command.ExecutedCommandExec.sideEffectResult$lzycompute(commands.scala:75)
        at org.apache.spark.sql.execution.command.ExecutedCommandExec.sideEffectResult(commands.scala:73)
        at org.apache.spark.sql.execution.command.ExecutedCommandExec.executeCollect(commands.scala:84)
        at org.apache.spark.sql.execution.QueryExecution$$anonfun$eagerlyExecuteCommands$1.$anonfun$applyOrElse$1(QueryExecution.scala:107)
        at org.apache.spark.sql.execution.SQLExecution$.$anonfun$withNewExecutionId$6(SQLExecution.scala:125)
        at org.apache.spark.sql.execution.SQLExecution$.withSQLConfPropagated(SQLExecution.scala:201)
        at org.apache.spark.sql.execution.SQLExecution$.$anonfun$withNewExecutionId$1(SQLExecution.scala:108)
        at org.apache.spark.sql.SparkSession.withActive(SparkSession.scala:900)
        at org.apache.spark.sql.execution.SQLExecution$.withNewExecutionId(SQLExecution.scala:66)
        at org.apache.spark.sql.execution.QueryExecution$$anonfun$eagerlyExecuteCommands$1.applyOrElse(QueryExecution.scala:107)
        at org.apache.spark.sql.execution.QueryExecution$$anonfun$eagerlyExecuteCommands$1.applyOrElse(QueryExecution.scala:98)
        at org.apache.spark.sql.catalyst.trees.TreeNode.$anonfun$transformDownWithPruning$1(TreeNode.scala:461)
        at org.apache.spark.sql.catalyst.trees.CurrentOrigin$.withOrigin(origin.scala:76)
        at org.apache.spark.sql.catalyst.trees.TreeNode.transformDownWithPruning(TreeNode.scala:461)
        at org.apache.spark.sql.catalyst.plans.logical.LogicalPlan.org$apache$spark$sql$catalyst$plans$logical$AnalysisHelper$$super$transformDownWithPruning(LogicalPlan.scala:32)
        at org.apache.spark.sql.catalyst.plans.logical.AnalysisHelper.transformDownWithPruning(AnalysisHelper.scala:267)
        at org.apache.spark.sql.catalyst.plans.logical.AnalysisHelper.transformDownWithPruning$(AnalysisHelper.scala:263)
        at org.apache.spark.sql.catalyst.plans.logical.LogicalPlan.transformDownWithPruning(LogicalPlan.scala:32)
        at org.apache.spark.sql.catalyst.plans.logical.LogicalPlan.transformDownWithPruning(LogicalPlan.scala:32)
        at org.apache.spark.sql.catalyst.trees.TreeNode.transformDown(TreeNode.scala:437)
        at org.apache.spark.sql.execution.QueryExecution.eagerlyExecuteCommands(QueryExecution.scala:98)
        at org.apache.spark.sql.execution.QueryExecution.commandExecuted$lzycompute(QueryExecution.scala:85)
        at org.apache.spark.sql.execution.QueryExecution.commandExecuted(QueryExecution.scala:83)
        at org.apache.spark.sql.Dataset.<init>(Dataset.scala:220)
        at org.apache.spark.sql.Dataset$.$anonfun$ofRows$2(Dataset.scala:100)

What doesn't meet your expectations?

Execution failure

Anything else?

No response

Are you willing to submit a PR?

  • [ ] I'm willing to submit a PR!

melin avatar Jul 05 '24 15:07 melin

image

melin avatar Jul 05 '24 15:07 melin

@melin I tested your case in class org.apache.paimon.spark.SparkReadITCase of branch master, and the issue cannot be reproduced.

    @Test
    public void testCreateTableAsTmp() {
        spark.sql("CREATE TABLE paimon_order_pt_tag (\n" +
                "    id INT,\n" +
                "    name string,\n" +
                "    pt string\n" +
                ") USING paimon\n" +
                "PARTITIONED BY (pt)\n" +
                "tblproperties (\n" +
                "    'primary-key' = 'id, pt',\n" +
                "    'bucket'= '-1'\n" +
                ");");
        spark.sql("insert OVERWRITE paimon_order_pt_tag PARTITION(pt='20240701') select 3 as id, 'zhangsan' as name;");
        spark.sql("CALL sys.create_tag(table => 'paimon_order_pt_tag', tag => 'tag-20240701');");
        spark.sql("show table extended like 'paimon_order_pt_tag' PARTITION (pt='20240701');").show();
        /* output:
        +---------+-------------------+-----------+--------------------+
        |namespace|          tableName|isTemporary|         information|
        +---------+-------------------+-----------+--------------------+
        |  default|paimon_order_pt_tag|      false|Partition Values:...|
        +---------+-------------------+-----------+--------------------+
        * */
    }

Maybe you can try newer version.

dark2momo avatar Mar 07 '25 09:03 dark2momo