You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@iceberg.apache.org by GitBox <gi...@apache.org> on 2022/08/14 17:54:28 UTC

[GitHub] [iceberg] amogh-jahagirdar commented on a diff in pull request #5516: API: Add Generate Symlink Manifest API

amogh-jahagirdar commented on code in PR #5516:
URL: https://github.com/apache/iceberg/pull/5516#discussion_r945323216


##########
api/src/main/java/org/apache/iceberg/actions/GenerateSymlinkManifest.java:
##########
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.iceberg.actions;
+
+/**
+ * An action that generates a symlink manifest table for an Iceberg table.
+ *
+ * <p>This action will generate symlink manifests for a table. A symlink manifest is a file with
+ * links to the data files in the table. Systems which do not integrate with Iceberg can read the
+ * underlying data in the Iceberg tables as an external table. The symlink manifest table will
+ * expose all the hidden partitions as the union of historical partition specs.
+ */
+public interface GenerateSymlinkManifest
+    extends Action<GenerateSymlinkManifest, GenerateSymlinkManifest.Result> {
+
+  /**
+   * Set a root location for the symlink manifest table. If a root location is not provided the
+   * default location will be at table_root/_symlink_format_manifest/snapshot_id/
+   *
+   * @param rootLocation root location for symlink manifest table
+   * @return this for method chaining
+   */
+  GenerateSymlinkManifest rootLocation(String rootLocation);

Review Comment:
   Good point, it's an output location for the symlink manifest. Earlier we called it symlink manifest root location because it would serve as the root table location for a user who would create an external table with this as the root. But I agree it's odd to name the API on what a user may or may not use it for. outputLocation is better.



-- 
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: issues-unsubscribe@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@iceberg.apache.org
For additional commands, e-mail: issues-help@iceberg.apache.org