/** * {@inheritDoc}. */ @Override public List<String> getPartitionKeys(final ConnectorRequestContext requestContext, final QualifiedName tableName, final PartitionListRequest partitionsRequest, final TableInfo tableInfo) { return context.getConfig().isIcebergEnabled() && HiveTableUtil.isIcebergTable(tableInfo) ? getIcebergPartitionInfos(tableInfo, partitionsRequest) .stream().map(info -> info.getName().getPartitionName()).collect(Collectors.toList()) : directSqlGetPartition.getPartitionKeys(requestContext, tableName, partitionsRequest); }
/** * {@inheritDoc}. */ @Override public List<String> getPartitionKeys(final ConnectorRequestContext requestContext, final QualifiedName tableName, final PartitionListRequest partitionsRequest, final TableInfo tableInfo) { return context.getConfig().isIcebergEnabled() && HiveTableUtil.isIcebergTable(tableInfo) ? getIcebergPartitionInfos(tableInfo, partitionsRequest) .stream().map(info -> info.getName().getPartitionName()).collect(Collectors.toList()) : directSqlGetPartition.getPartitionKeys(requestContext, tableName, partitionsRequest); }
/** * {@inheritDoc}. */ @Override public List<PartitionInfo> getPartitions( final ConnectorRequestContext requestContext, final QualifiedName tableName, final PartitionListRequest partitionsRequest, final TableInfo tableInfo) { return context.getConfig().isIcebergEnabled() && HiveTableUtil.isIcebergTable(tableInfo) ? getIcebergPartitionInfos(tableInfo, partitionsRequest) : directSqlGetPartition.getPartitions(requestContext, tableName, partitionsRequest); }
/** * {@inheritDoc}. */ @Override public List<PartitionInfo> getPartitions( final ConnectorRequestContext requestContext, final QualifiedName tableName, final PartitionListRequest partitionsRequest, final TableInfo tableInfo) { return context.getConfig().isIcebergEnabled() && HiveTableUtil.isIcebergTable(tableInfo) ? getIcebergPartitionInfos(tableInfo, partitionsRequest) : directSqlGetPartition.getPartitions(requestContext, tableName, partitionsRequest); }
/** * {@inheritDoc}. */ @Override public List<String> getPartitionUris( final ConnectorRequestContext requestContext, final QualifiedName tableName, final PartitionListRequest partitionsRequest, final TableInfo tableInfo ) { if (context.getConfig().isIcebergEnabled() && HiveTableUtil.isIcebergTable(tableInfo)) { throw new MetacatNotSupportedException("IcebergTable Unsupported Operation!"); } return directSqlGetPartition.getPartitionUris(requestContext, tableName, partitionsRequest); }
/** * {@inheritDoc}. */ @Override public List<String> getPartitionUris( final ConnectorRequestContext requestContext, final QualifiedName tableName, final PartitionListRequest partitionsRequest, final TableInfo tableInfo ) { if (context.getConfig().isIcebergEnabled() && HiveTableUtil.isIcebergTable(tableInfo)) { throw new MetacatNotSupportedException("IcebergTable Unsupported Operation!"); } return directSqlGetPartition.getPartitionUris(requestContext, tableName, partitionsRequest); }
/** * Number of partitions for the given table. * * @param tableName tableName * @return Number of partitions */ @Override public int getPartitionCount( final ConnectorRequestContext requestContext, final QualifiedName tableName, final TableInfo tableInfo ) { if (context.getConfig().isIcebergEnabled() && HiveTableUtil.isIcebergTable(tableInfo)) { throw new MetacatNotSupportedException("IcebergTable Unsupported Operation!"); } return directSqlGetPartition.getPartitionCount(requestContext, tableName); }
/** * Number of partitions for the given table. * * @param tableName tableName * @return Number of partitions */ @Override public int getPartitionCount( final ConnectorRequestContext requestContext, final QualifiedName tableName, final TableInfo tableInfo ) { if (context.getConfig().isIcebergEnabled() && HiveTableUtil.isIcebergTable(tableInfo)) { throw new MetacatNotSupportedException("IcebergTable Unsupported Operation!"); } return directSqlGetPartition.getPartitionCount(requestContext, tableName); }
/** * {@inheritDoc}. */ @Override public void deletePartitions( final ConnectorRequestContext requestContext, final QualifiedName tableName, final List<String> partitionNames, final TableInfo tableInfo ) { //TODO: implemented as next step if (context.getConfig().isIcebergEnabled() && HiveTableUtil.isIcebergTable(tableInfo)) { throw new MetacatNotSupportedException("IcebergTable Unsupported Operation!"); } //The direct sql based deletion doesn't check if the partition is valid if (Boolean.parseBoolean(getContext().getConfiguration() .getOrDefault(HiveConfigConstants.USE_FAST_DELETION, "false"))) { directSqlSavePartition.delete(tableName, partitionNames); } else { //will throw exception if the partitions are invalid super.deletePartitions(requestContext, tableName, partitionNames, tableInfo); } }
/** * {@inheritDoc}. */ @Override public void deletePartitions( final ConnectorRequestContext requestContext, final QualifiedName tableName, final List<String> partitionNames, final TableInfo tableInfo ) { //TODO: implemented as next step if (context.getConfig().isIcebergEnabled() && HiveTableUtil.isIcebergTable(tableInfo)) { throw new MetacatNotSupportedException("IcebergTable Unsupported Operation!"); } //The direct sql based deletion doesn't check if the partition is valid if (Boolean.parseBoolean(getContext().getConfiguration() .getOrDefault(HiveConfigConstants.USE_FAST_DELETION, "false"))) { directSqlSavePartition.delete(tableName, partitionNames); } else { //will throw exception if the partitions are invalid super.deletePartitions(requestContext, tableName, partitionNames, tableInfo); } }
/** * getTable. * * @param requestContext The request context * @param name The qualified name of the resource to get * @return table dto */ @Override public TableInfo get(final ConnectorRequestContext requestContext, final QualifiedName name) { final TableInfo info = super.get(requestContext, name); if (!connectorContext.getConfig().isIcebergEnabled() || !HiveTableUtil.isIcebergTable(info)) { return info; } final String tableLoc = HiveTableUtil.getIcebergTableMetadataLocation(info); final com.netflix.iceberg.Table icebergTable = this.icebergTableHandler.getIcebergTable(name, tableLoc); return this.hiveMetacatConverters.fromIcebergTableToTableInfo(name, icebergTable, tableLoc, info.getAudit()); }
/** * getTable. * * @param requestContext The request context * @param name The qualified name of the resource to get * @return table dto */ @Override public TableInfo get(final ConnectorRequestContext requestContext, final QualifiedName name) { final TableInfo info = super.get(requestContext, name); if (!connectorContext.getConfig().isIcebergEnabled() || !HiveTableUtil.isIcebergTable(info)) { return info; } final String tableLoc = HiveTableUtil.getIcebergTableMetadataLocation(info); final com.netflix.iceberg.Table icebergTable = this.icebergTableHandler.getIcebergTable(name, tableLoc); return this.hiveMetacatConverters.fromIcebergTableToTableInfo(name, icebergTable, tableLoc, info.getAudit()); }
if (connectorContext.getConfig().isIcebergEnabled() && HiveTableUtil.isIcebergTable(tableInfo)) { table.setPartitionKeys(Collections.emptyList()); log.debug("Skipping seder and set partition key to empty when updating iceberg table in hive");
if (connectorContext.getConfig().isIcebergEnabled() && HiveTableUtil.isIcebergTable(tableInfo)) { table.setPartitionKeys(Collections.emptyList()); log.debug("Skipping seder and set partition key to empty when updating iceberg table in hive");