Class DrillHiveViewTable

java.lang.Object
org.apache.drill.exec.planner.logical.DrillViewTable
org.apache.drill.exec.store.hive.schema.DrillHiveViewTable
All Implemented Interfaces:
org.apache.calcite.schema.Table, org.apache.calcite.schema.TranslatableTable, DrillViewInfoProvider

public class DrillHiveViewTable extends DrillViewTable
DrillViewTable which may be created from Hive view metadata and will work similar to views defined in Drill.
  • Constructor Details

  • Method Details

    • expandViewForImpersonatedUser

      protected org.apache.calcite.rel.RelNode expandViewForImpersonatedUser(DrillViewExpander context, List<String> workspaceSchemaPath, org.apache.calcite.schema.SchemaPlus tokenSchemaTree)
      Because tables used by hive views, defined without name of storage plugin, we're making sure that storage plugin name will be taken into account for the special case, when hive storage based authorization is used, and user can query view, but doesn't have rights to access underlying table.
      Overrides:
      expandViewForImpersonatedUser in class DrillViewTable
      Parameters:
      context - - to rel conversion context
      workspaceSchemaPath - - path to view in drill, for example: ["hive"]
      tokenSchemaTree - - schema created for impersonated user
      Returns:
      - relational representation of expanded Hive view