You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@kyuubi.apache.org by GitBox <gi...@apache.org> on 2022/12/06 05:13:50 UTC
[GitHub] [incubator-kyuubi] yaooqinn commented on a diff in pull request #3904: [WIP][Extension][Spark] New Authz Plan Serde Layer
yaooqinn commented on code in PR #3904:
URL: https://github.com/apache/incubator-kyuubi/pull/3904#discussion_r1040478139
##########
extensions/spark/kyuubi-spark-authz/src/main/resources/table_command_spec.json:
##########
@@ -0,0 +1,1135 @@
+[ {
+ "classname" : "org.apache.spark.sql.catalyst.plans.logical.AddPartitions",
+ "tableDescs" : [ {
+ "fieldName" : "table",
+ "fieldExtractor" : "DataSourceV2RelationTableExtractor",
+ "columnDesc" : null,
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : null,
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "ALTERTABLE_ADDPARTS",
+ "queryDescs" : [ ]
+}, {
+ "classname" : "org.apache.spark.sql.catalyst.plans.logical.DropPartitions",
+ "tableDescs" : [ {
+ "fieldName" : "table",
+ "fieldExtractor" : "DataSourceV2RelationTableExtractor",
+ "columnDesc" : null,
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : null,
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "ALTERTABLE_DROPPARTS",
+ "queryDescs" : [ ]
+}, {
+ "classname" : "org.apache.spark.sql.catalyst.plans.logical.RenamePartitions",
+ "tableDescs" : [ {
+ "fieldName" : "table",
+ "fieldExtractor" : "DataSourceV2RelationTableExtractor",
+ "columnDesc" : null,
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : null,
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "ALTERTABLE_RENAMEPART",
+ "queryDescs" : [ ]
+}, {
+ "classname" : "org.apache.spark.sql.catalyst.plans.logical.TruncatePartition",
+ "tableDescs" : [ {
+ "fieldName" : "table",
+ "fieldExtractor" : "DataSourceV2RelationTableExtractor",
+ "columnDesc" : null,
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : null,
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "ALTERTABLE_DROPPARTS",
+ "queryDescs" : [ ]
+}, {
+ "classname" : "org.apache.spark.sql.catalyst.plans.logical.AddColumns",
+ "tableDescs" : [ {
+ "fieldName" : "child",
+ "fieldExtractor" : "ResolvedTableTableExtractor",
+ "columnDesc" : null,
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : null,
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "ALTERTABLE_ADDCOLS",
+ "queryDescs" : [ ]
+}, {
+ "classname" : "org.apache.spark.sql.catalyst.plans.logical.AlterColumn",
+ "tableDescs" : [ {
+ "fieldName" : "child",
+ "fieldExtractor" : "ResolvedTableTableExtractor",
+ "columnDesc" : null,
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : null,
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "ALTERTABLE_ADDCOLS",
+ "queryDescs" : [ ]
+}, {
+ "classname" : "org.apache.spark.sql.catalyst.plans.logical.DropColumns",
+ "tableDescs" : [ {
+ "fieldName" : "child",
+ "fieldExtractor" : "ResolvedTableTableExtractor",
+ "columnDesc" : null,
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : null,
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "ALTERTABLE_ADDCOLS",
+ "queryDescs" : [ ]
+}, {
+ "classname" : "org.apache.spark.sql.catalyst.plans.logical.ReplaceColumns",
+ "tableDescs" : [ {
+ "fieldName" : "child",
+ "fieldExtractor" : "ResolvedTableTableExtractor",
+ "columnDesc" : null,
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : null,
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "ALTERTABLE_REPLACECOLS",
+ "queryDescs" : [ ]
+}, {
+ "classname" : "org.apache.spark.sql.catalyst.plans.logical.RenameColumn",
+ "tableDescs" : [ {
+ "fieldName" : "child",
+ "fieldExtractor" : "ResolvedTableTableExtractor",
+ "columnDesc" : null,
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : null,
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "ALTERTABLE_RENAMECOL",
+ "queryDescs" : [ ]
+}, {
+ "classname" : "org.apache.spark.sql.execution.command.AlterTableAddColumnsCommand",
+ "tableDescs" : [ {
+ "fieldName" : "table",
+ "fieldExtractor" : "TableIdentifierTableExtractor",
+ "columnDesc" : {
+ "fieldName" : "colsToAdd",
+ "fieldExtractor" : "StructFieldSeqColumnExtractor"
+ },
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : null,
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "ALTERTABLE_ADDCOLS",
+ "queryDescs" : [ ]
+}, {
+ "classname" : "org.apache.spark.sql.execution.command.AlterTableAddPartitionCommand",
+ "tableDescs" : [ {
+ "fieldName" : "tableName",
+ "fieldExtractor" : "TableIdentifierTableExtractor",
+ "columnDesc" : {
+ "fieldName" : "partitionSpecsAndLocs",
+ "fieldExtractor" : "PartitionLocsSeqColumnExtractor"
+ },
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : null,
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "ALTERTABLE_ADDPARTS",
+ "queryDescs" : [ ]
+}, {
+ "classname" : "org.apache.spark.sql.execution.command.AlterTableChangeColumnCommand",
+ "tableDescs" : [ {
+ "fieldName" : "tableName",
+ "fieldExtractor" : "TableIdentifierTableExtractor",
+ "columnDesc" : {
+ "fieldName" : "columnName",
+ "fieldExtractor" : "StringColumnExtractor"
+ },
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : null,
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "ALTERTABLE_REPLACECOLS",
+ "queryDescs" : [ ]
+}, {
+ "classname" : "org.apache.spark.sql.execution.command.AlterTableDropPartitionCommand",
+ "tableDescs" : [ {
+ "fieldName" : "tableName",
+ "fieldExtractor" : "TableIdentifierTableExtractor",
+ "columnDesc" : {
+ "fieldName" : "specs",
+ "fieldExtractor" : "PartitionSeqColumnExtractor"
+ },
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : null,
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "ALTERTABLE_DROPPARTS",
+ "queryDescs" : [ ]
+}, {
+ "classname" : "org.apache.spark.sql.execution.command.AlterTableRenameCommand",
+ "tableDescs" : [ {
+ "fieldName" : "oldName",
+ "fieldExtractor" : "TableIdentifierTableExtractor",
+ "columnDesc" : null,
+ "actionTypeDesc" : {
+ "fieldName" : null,
+ "fieldExtractor" : null,
+ "actionType" : "DELETE"
+ },
+ "tableTypeDesc" : {
+ "fieldName" : "oldName",
+ "fieldExtractor" : "TableIdentifierTableTypeExtractor",
+ "skipTypes" : [ "TEMP_VIEW" ]
+ },
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : false
+ }, {
+ "fieldName" : "newName",
+ "fieldExtractor" : "TableIdentifierTableExtractor",
+ "columnDesc" : null,
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : {
+ "fieldName" : "oldName",
+ "fieldExtractor" : "TableIdentifierTableTypeExtractor",
+ "skipTypes" : [ "TEMP_VIEW" ]
+ },
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "ALTERTABLE_RENAME",
+ "queryDescs" : [ ]
+}, {
+ "classname" : "org.apache.spark.sql.execution.command.AlterTableRecoverPartitionsCommand",
+ "tableDescs" : [ {
+ "fieldName" : "tableName",
+ "fieldExtractor" : "TableIdentifierTableExtractor",
+ "columnDesc" : null,
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : null,
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "MSCK",
+ "queryDescs" : [ ]
+}, {
+ "classname" : "org.apache.spark.sql.execution.command.RepairTableCommand",
+ "tableDescs" : [ {
+ "fieldName" : "tableName",
+ "fieldExtractor" : "TableIdentifierTableExtractor",
+ "columnDesc" : null,
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : null,
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "MSCK",
+ "queryDescs" : [ ]
+}, {
+ "classname" : "org.apache.spark.sql.execution.command.AlterTableRenamePartitionCommand",
+ "tableDescs" : [ {
+ "fieldName" : "tableName",
+ "fieldExtractor" : "TableIdentifierTableExtractor",
+ "columnDesc" : {
+ "fieldName" : "oldPartition",
+ "fieldExtractor" : "PartitionColumnExtractor"
+ },
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : null,
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "ALTERTABLE_RENAMEPART",
+ "queryDescs" : [ ]
+}, {
+ "classname" : "org.apache.spark.sql.execution.command.AlterTableSerDePropertiesCommand",
+ "tableDescs" : [ {
+ "fieldName" : "tableName",
+ "fieldExtractor" : "TableIdentifierTableExtractor",
+ "columnDesc" : {
+ "fieldName" : "partSpec",
+ "fieldExtractor" : "PartitionOptionColumnExtractor"
+ },
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : null,
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "ALTERTABLE_SERDEPROPERTIES",
+ "queryDescs" : [ ]
+}, {
+ "classname" : "org.apache.spark.sql.execution.command.AlterTableSetLocationCommand",
+ "tableDescs" : [ {
+ "fieldName" : "tableName",
+ "fieldExtractor" : "TableIdentifierTableExtractor",
+ "columnDesc" : {
+ "fieldName" : "partitionSpec",
+ "fieldExtractor" : "PartitionOptionColumnExtractor"
+ },
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : null,
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "ALTERTABLE_LOCATION",
+ "queryDescs" : [ ]
+}, {
+ "classname" : "org.apache.spark.sql.execution.command.AlterTableSetPropertiesCommand",
+ "tableDescs" : [ {
+ "fieldName" : "tableName",
+ "fieldExtractor" : "TableIdentifierTableExtractor",
+ "columnDesc" : null,
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : null,
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "ALTERTABLE_PROPERTIES",
+ "queryDescs" : [ ]
+}, {
+ "classname" : "org.apache.spark.sql.execution.command.AlterTableUnsetPropertiesCommand",
+ "tableDescs" : [ {
+ "fieldName" : "tableName",
+ "fieldExtractor" : "TableIdentifierTableExtractor",
+ "columnDesc" : null,
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : null,
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "ALTERTABLE_PROPERTIES",
+ "queryDescs" : [ ]
+}, {
+ "classname" : "org.apache.spark.sql.execution.command.AlterViewAsCommand",
+ "tableDescs" : [ {
+ "fieldName" : "name",
+ "fieldExtractor" : "TableIdentifierTableExtractor",
+ "columnDesc" : null,
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : {
+ "fieldName" : "name",
+ "fieldExtractor" : "TableIdentifierTableTypeExtractor",
+ "skipTypes" : [ "TEMP_VIEW" ]
+ },
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "ALTERVIEW_AS",
+ "queryDescs" : [ {
+ "fieldName" : "query",
+ "fieldExtractor" : "LogicalPlanQueryExtractor"
+ } ]
+}, {
+ "classname" : "org.apache.spark.sql.execution.command.AnalyzeColumnCommand",
+ "tableDescs" : [ {
+ "fieldName" : "tableIdent",
+ "fieldExtractor" : "TableIdentifierTableExtractor",
+ "columnDesc" : {
+ "fieldName" : "columnNames",
+ "fieldExtractor" : "StringSeqColumnExtractor"
+ },
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : null,
+ "isInput" : true,
+ "setCurrentDatabaseIfMissing" : false
+ }, {
+ "fieldName" : "tableIdent",
+ "fieldExtractor" : "TableIdentifierTableExtractor",
+ "columnDesc" : {
+ "fieldName" : "columnNames",
+ "fieldExtractor" : "StringSeqOptionColumnExtractor"
+ },
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : null,
+ "isInput" : true,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "ANALYZE_TABLE",
+ "queryDescs" : [ ]
+}, {
+ "classname" : "org.apache.spark.sql.execution.command.AnalyzePartitionCommand",
+ "tableDescs" : [ {
+ "fieldName" : "tableIdent",
+ "fieldExtractor" : "TableIdentifierTableExtractor",
+ "columnDesc" : {
+ "fieldName" : "partitionSpec",
+ "fieldExtractor" : "PartitionColumnExtractor"
+ },
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : null,
+ "isInput" : true,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "ANALYZE_TABLE",
+ "queryDescs" : [ ]
+}, {
+ "classname" : "org.apache.spark.sql.execution.command.AnalyzeTableCommand",
+ "tableDescs" : [ {
+ "fieldName" : "tableIdent",
+ "fieldExtractor" : "TableIdentifierTableExtractor",
+ "columnDesc" : null,
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : null,
+ "isInput" : true,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "ANALYZE_TABLE",
+ "queryDescs" : [ ]
+}, {
+ "classname" : "org.apache.spark.sql.execution.command.RefreshTableCommand",
+ "tableDescs" : [ {
+ "fieldName" : "tableIdent",
+ "fieldExtractor" : "TableIdentifierTableExtractor",
+ "columnDesc" : null,
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : null,
+ "isInput" : true,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "ANALYZE_TABLE",
+ "queryDescs" : [ ]
+}, {
+ "classname" : "org.apache.spark.sql.execution.command.AnalyzeTablesCommand",
+ "tableDescs" : [ {
+ "fieldName" : "tableIdent",
+ "fieldExtractor" : "TableIdentifierTableExtractor",
+ "columnDesc" : null,
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : null,
+ "isInput" : true,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "ANALYZE_TABLE",
+ "queryDescs" : [ ]
+}, {
+ "classname" : "org.apache.spark.sql.catalyst.plans.logical.AppendData",
+ "tableDescs" : [ {
+ "fieldName" : "table",
+ "fieldExtractor" : "DataSourceV2RelationTableExtractor",
+ "columnDesc" : null,
+ "actionTypeDesc" : {
+ "fieldName" : null,
+ "fieldExtractor" : null,
+ "actionType" : "INSERT"
+ },
+ "tableTypeDesc" : null,
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "QUERY",
+ "queryDescs" : [ {
+ "fieldName" : "query",
+ "fieldExtractor" : "LogicalPlanQueryExtractor"
+ } ]
+}, {
+ "classname" : "org.apache.spark.sql.execution.command.CacheTableCommand",
+ "tableDescs" : [ ],
+ "operationType" : "CREATEVIEW",
+ "queryDescs" : [ {
+ "fieldName" : "plan",
+ "fieldExtractor" : "LogicalPlanOptionQueryExtractor"
+ } ]
+}, {
+ "classname" : "org.apache.spark.sql.catalyst.plans.logical.CacheTableAsSelect",
+ "tableDescs" : [ ],
+ "operationType" : "CREATEVIEW",
+ "queryDescs" : [ {
+ "fieldName" : "plan",
+ "fieldExtractor" : "LogicalPlanQueryExtractor"
+ } ]
+}, {
+ "classname" : "org.apache.spark.sql.catalyst.plans.logical.CacheTable",
+ "tableDescs" : [ ],
+ "operationType" : "CREATEVIEW",
+ "queryDescs" : [ {
+ "fieldName" : "table",
+ "fieldExtractor" : "LogicalPlanQueryExtractor"
+ } ]
+}, {
+ "classname" : "org.apache.spark.sql.catalyst.plans.logical.CommentOnTable",
+ "tableDescs" : [ {
+ "fieldName" : "child",
+ "fieldExtractor" : "ResolvedTableTableExtractor",
+ "columnDesc" : null,
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : null,
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "ALTERTABLE_PROPERTIES",
+ "queryDescs" : [ ]
+}, {
+ "classname" : "org.apache.spark.sql.execution.command.CreateDataSourceTableCommand",
+ "tableDescs" : [ {
+ "fieldName" : "table",
+ "fieldExtractor" : "CatalogTableTableExtractor",
+ "columnDesc" : null,
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : null,
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "CREATETABLE",
+ "queryDescs" : [ ]
+}, {
+ "classname" : "org.apache.spark.sql.execution.command.CreateTableCommand",
+ "tableDescs" : [ {
+ "fieldName" : "table",
+ "fieldExtractor" : "CatalogTableTableExtractor",
+ "columnDesc" : null,
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : null,
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "CREATETABLE",
+ "queryDescs" : [ ]
+}, {
+ "classname" : "org.apache.spark.sql.execution.command.CreateDataSourceTableAsSelectCommand",
+ "tableDescs" : [ {
+ "fieldName" : "table",
+ "fieldExtractor" : "CatalogTableTableExtractor",
+ "columnDesc" : null,
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : null,
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "CREATETABLE_AS_SELECT",
+ "queryDescs" : [ {
+ "fieldName" : "query",
+ "fieldExtractor" : "LogicalPlanQueryExtractor"
+ } ]
+}, {
+ "classname" : "org.apache.spark.sql.hive.execution.CreateHiveTableAsSelectCommand",
+ "tableDescs" : [ {
+ "fieldName" : "tableDesc",
+ "fieldExtractor" : "CatalogTableTableExtractor",
+ "columnDesc" : {
+ "fieldName" : "outputColumnNames",
+ "fieldExtractor" : "StringSeqColumnExtractor"
+ },
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : null,
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "CREATETABLE_AS_SELECT",
+ "queryDescs" : [ {
+ "fieldName" : "query",
+ "fieldExtractor" : "LogicalPlanQueryExtractor"
+ } ]
+}, {
+ "classname" : "org.apache.spark.sql.hive.execution.OptimizedCreateHiveTableAsSelectCommand",
+ "tableDescs" : [ {
+ "fieldName" : "tableDesc",
+ "fieldExtractor" : "CatalogTableTableExtractor",
+ "columnDesc" : {
+ "fieldName" : "outputColumnNames",
+ "fieldExtractor" : "StringSeqColumnExtractor"
+ },
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : null,
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "CREATETABLE_AS_SELECT",
+ "queryDescs" : [ {
+ "fieldName" : "query",
+ "fieldExtractor" : "LogicalPlanQueryExtractor"
+ } ]
+}, {
+ "classname" : "org.apache.spark.sql.execution.command.CreateTableLikeCommand",
+ "tableDescs" : [ {
+ "fieldName" : "targetTable",
+ "fieldExtractor" : "TableIdentifierTableExtractor",
+ "columnDesc" : null,
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : null,
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : true
+ }, {
+ "fieldName" : "sourceTable",
+ "fieldExtractor" : "TableIdentifierTableExtractor",
+ "columnDesc" : null,
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : null,
+ "isInput" : true,
+ "setCurrentDatabaseIfMissing" : true
+ } ],
+ "operationType" : "CREATETABLE",
+ "queryDescs" : [ ]
+}, {
+ "classname" : "org.apache.spark.sql.catalyst.plans.logical.CreateTable",
+ "tableDescs" : [ {
+ "fieldName" : "tableName",
+ "fieldExtractor" : "IdentifierTableExtractor",
+ "columnDesc" : null,
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : null,
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "CREATETABLE",
+ "queryDescs" : [ ]
+}, {
+ "classname" : "org.apache.spark.sql.catalyst.plans.logical.ReplaceTable",
+ "tableDescs" : [ {
+ "fieldName" : "tableName",
+ "fieldExtractor" : "IdentifierTableExtractor",
+ "columnDesc" : null,
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : null,
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "CREATETABLE",
+ "queryDescs" : [ ]
+}, {
+ "classname" : "org.apache.spark.sql.catalyst.plans.logical.CreateTableAsSelect",
+ "tableDescs" : [ {
+ "fieldName" : "tableName",
+ "fieldExtractor" : "IdentifierTableExtractor",
+ "columnDesc" : null,
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : null,
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "CREATETABLE_AS_SELECT",
+ "queryDescs" : [ {
+ "fieldName" : "query",
+ "fieldExtractor" : "LogicalPlanQueryExtractor"
+ } ]
+}, {
+ "classname" : "org.apache.spark.sql.catalyst.plans.logical.ReplaceTableAsSelect",
+ "tableDescs" : [ {
+ "fieldName" : "tableName",
+ "fieldExtractor" : "IdentifierTableExtractor",
+ "columnDesc" : null,
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : null,
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "CREATETABLE_AS_SELECT",
+ "queryDescs" : [ {
+ "fieldName" : "query",
+ "fieldExtractor" : "LogicalPlanQueryExtractor"
+ } ]
+}, {
+ "classname" : "org.apache.spark.sql.execution.command.CreateViewCommand",
+ "tableDescs" : [ {
+ "fieldName" : "name",
+ "fieldExtractor" : "TableIdentifierTableExtractor",
+ "columnDesc" : null,
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : {
+ "fieldName" : "viewType",
+ "fieldExtractor" : "ViewTypeTableTypeExtractor",
+ "skipTypes" : [ "TEMP_VIEW", "GLOBAL_TEMP_VIEW" ]
+ },
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "CREATEVIEW",
+ "queryDescs" : [ {
+ "fieldName" : "plan",
+ "fieldExtractor" : "LogicalPlanQueryExtractor"
+ }, {
+ "fieldName" : "child",
+ "fieldExtractor" : "LogicalPlanQueryExtractor"
+ } ]
+}, {
+ "classname" : "org.apache.spark.sql.execution.datasources.CreateTempViewUsing",
+ "tableDescs" : [ ],
+ "operationType" : "CREATEVIEW",
+ "queryDescs" : [ ]
+}, {
+ "classname" : "org.apache.spark.sql.catalyst.plans.logical.DeleteFromTable",
+ "tableDescs" : [ {
+ "fieldName" : "table",
+ "fieldExtractor" : "DataSourceV2RelationTableExtractor",
+ "columnDesc" : null,
+ "actionTypeDesc" : {
+ "fieldName" : null,
+ "fieldExtractor" : null,
+ "actionType" : "UPDATE"
+ },
+ "tableTypeDesc" : null,
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "QUERY",
+ "queryDescs" : [ {
+ "fieldName" : "query",
+ "fieldExtractor" : "LogicalPlanQueryExtractor"
+ } ]
+}, {
+ "classname" : "org.apache.spark.sql.catalyst.plans.logical.DeleteFromIcebergTable",
+ "tableDescs" : [ {
+ "fieldName" : "table",
+ "fieldExtractor" : "DataSourceV2RelationTableExtractor",
+ "columnDesc" : null,
+ "actionTypeDesc" : {
+ "fieldName" : null,
+ "fieldExtractor" : null,
+ "actionType" : "UPDATE"
+ },
+ "tableTypeDesc" : null,
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "QUERY",
+ "queryDescs" : [ {
+ "fieldName" : "query",
+ "fieldExtractor" : "LogicalPlanQueryExtractor"
+ } ]
+}, {
+ "classname" : "org.apache.spark.sql.execution.command.DescribeColumnCommand",
+ "tableDescs" : [ {
+ "fieldName" : "table",
+ "fieldExtractor" : "TableIdentifierTableExtractor",
+ "columnDesc" : {
+ "fieldName" : "colNameParts",
+ "fieldExtractor" : "StringSeqLastColumnExtractor"
+ },
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : null,
+ "isInput" : true,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "DESCTABLE",
+ "queryDescs" : [ ]
+}, {
+ "classname" : "org.apache.spark.sql.execution.command.DescribeTableCommand",
+ "tableDescs" : [ {
+ "fieldName" : "table",
+ "fieldExtractor" : "TableIdentifierTableExtractor",
+ "columnDesc" : {
+ "fieldName" : "partitionSpec",
+ "fieldExtractor" : "PartitionColumnExtractor"
+ },
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : null,
+ "isInput" : true,
+ "setCurrentDatabaseIfMissing" : true
+ } ],
+ "operationType" : "DESCTABLE",
+ "queryDescs" : [ ]
+}, {
+ "classname" : "org.apache.spark.sql.execution.command.DropTableCommand",
+ "tableDescs" : [ {
+ "fieldName" : "tableName",
+ "fieldExtractor" : "TableIdentifierTableExtractor",
+ "columnDesc" : null,
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : {
+ "fieldName" : "tableName",
+ "fieldExtractor" : "TableIdentifierTableTypeExtractor",
+ "skipTypes" : [ "TEMP_VIEW" ]
+ },
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "DROPTABLE",
+ "queryDescs" : [ ]
+}, {
+ "classname" : "org.apache.spark.sql.catalyst.plans.logical.DropTable",
+ "tableDescs" : [ {
+ "fieldName" : "child",
+ "fieldExtractor" : "ResolvedTableTableExtractor",
+ "columnDesc" : null,
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : null,
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : false
+ }, {
+ "fieldName" : "ident",
+ "fieldExtractor" : "IdentifierTableExtractor",
+ "columnDesc" : null,
+ "actionTypeDesc" : null,
+ "tableTypeDesc" : null,
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "DROPTABLE",
+ "queryDescs" : [ ]
+}, {
+ "classname" : "org.apache.spark.sql.execution.datasources.InsertIntoDataSourceCommand",
+ "tableDescs" : [ {
+ "fieldName" : "logicalRelation",
+ "fieldExtractor" : "LogicalRelationTableExtractor",
+ "columnDesc" : null,
+ "actionTypeDesc" : {
+ "fieldName" : "overwrite",
+ "fieldExtractor" : "OverwriteOrInsertActionTypeExtractor",
+ "actionType" : null
+ },
+ "tableTypeDesc" : null,
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "QUERY",
+ "queryDescs" : [ {
+ "fieldName" : "query",
+ "fieldExtractor" : "LogicalPlanQueryExtractor"
+ } ]
+}, {
+ "classname" : "org.apache.spark.sql.execution.command.InsertIntoDataSourceDirCommand",
+ "tableDescs" : [ ],
+ "operationType" : "QUERY",
+ "queryDescs" : [ {
+ "fieldName" : "query",
+ "fieldExtractor" : "LogicalPlanQueryExtractor"
+ } ]
+}, {
+ "classname" : "org.apache.spark.sql.execution.datasources.SaveIntoDataSourceCommand",
+ "tableDescs" : [ ],
+ "operationType" : "QUERY",
+ "queryDescs" : [ {
+ "fieldName" : "query",
+ "fieldExtractor" : "LogicalPlanQueryExtractor"
+ } ]
+}, {
+ "classname" : "org.apache.spark.sql.execution.datasources.InsertIntoHadoopFsRelationCommand",
+ "tableDescs" : [ ],
+ "operationType" : "QUERY",
+ "queryDescs" : [ {
+ "fieldName" : "query",
+ "fieldExtractor" : "LogicalPlanQueryExtractor"
+ } ]
+}, {
+ "classname" : "org.apache.spark.sql.execution.datasources.InsertIntoHiveDirCommand",
+ "tableDescs" : [ ],
+ "operationType" : "QUERY",
+ "queryDescs" : [ {
+ "fieldName" : "query",
+ "fieldExtractor" : "LogicalPlanQueryExtractor"
+ } ]
+}, {
+ "classname" : "org.apache.spark.sql.hive.execution.InsertIntoHiveTable",
+ "tableDescs" : [ {
+ "fieldName" : "table",
+ "fieldExtractor" : "CatalogTableTableExtractor",
+ "columnDesc" : {
+ "fieldName" : "outputColumnNames",
+ "fieldExtractor" : "StringSeqColumnExtractor"
+ },
+ "actionTypeDesc" : {
+ "fieldName" : "overwrite",
+ "fieldExtractor" : "OverwriteOrInsertActionTypeExtractor",
+ "actionType" : null
+ },
+ "tableTypeDesc" : null,
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "QUERY",
+ "queryDescs" : [ {
+ "fieldName" : "query",
+ "fieldExtractor" : "LogicalPlanQueryExtractor"
+ } ]
+}, {
+ "classname" : "org.apache.spark.sql.execution.command.LoadDataCommand",
+ "tableDescs" : [ {
+ "fieldName" : "table",
+ "fieldExtractor" : "TableIdentifierTableExtractor",
+ "columnDesc" : {
+ "fieldName" : "partition",
+ "fieldExtractor" : "PartitionOptionColumnExtractor"
+ },
+ "actionTypeDesc" : {
+ "fieldName" : "isOverwrite",
+ "fieldExtractor" : "OverwriteOrInsertActionTypeExtractor",
+ "actionType" : null
+ },
+ "tableTypeDesc" : null,
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "LOAD",
+ "queryDescs" : [ ]
+}, {
+ "classname" : "org.apache.spark.sql.catalyst.plans.logical.MergeIntoTable",
+ "tableDescs" : [ {
+ "fieldName" : "targetTable",
+ "fieldExtractor" : "DataSourceV2RelationTableExtractor",
+ "columnDesc" : null,
+ "actionTypeDesc" : {
+ "fieldName" : null,
+ "fieldExtractor" : null,
+ "actionType" : "UPDATE"
+ },
+ "tableTypeDesc" : null,
+ "isInput" : false,
+ "setCurrentDatabaseIfMissing" : false
+ } ],
+ "operationType" : "QUERY",
+ "queryDescs" : [ {
+ "fieldName" : "sourceTable",
+ "fieldExtractor" : "LogicalPlanQueryExtractor"
+ } ]
+}, {
+ "classname" : "org.apache.spark.sql.catalyst.plans.logical.MergeIntoIcebergTable",
Review Comment:
This PR does not cover this case completely, `table_command_spec_custom.json` maybe used later to support customize third-party commands
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@kyuubi.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@kyuubi.apache.org
For additional commands, e-mail: notifications-help@kyuubi.apache.org