## 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.## mypy: disable-error-code="empty-body"fromtypingimportTYPE_CHECKINGfrompyspark.sql.tvf_argumentimportTableValuedFunctionArgumentfrompyspark.sql.utilsimportdispatch_table_arg_methodifTYPE_CHECKING:frompyspark.sql._typingimportColumnOrName
[docs]classTableArg(TableValuedFunctionArgument):""" Represents a table argument in PySpark. This class provides methods to specify partitioning, ordering, and single-partition constraints when passing a DataFrame as a table argument to TVF(Table-Valued Function)s including UDTF(User-Defined Table Function)s. """
[docs]@dispatch_table_arg_methoddefpartitionBy(self,*cols:"ColumnOrName")->"TableArg":""" Partitions the data based on the specified columns. """...
[docs]@dispatch_table_arg_methoddeforderBy(self,*cols:"ColumnOrName")->"TableArg":""" Orders the data within each partition by the specified columns. """...
[docs]@dispatch_table_arg_methoddefwithSinglePartition(self)->"TableArg":""" Forces the data to be processed in a single partition. """...