snowpark-connect 0.32.0__tar.gz → 1.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of snowpark-connect might be problematic. Click here for more details.
- {snowpark_connect-0.32.0/src/snowpark_connect.egg-info → snowpark_connect-1.0.0}/PKG-INFO +4 -2
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/setup.py +3 -2
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/column_name_handler.py +91 -40
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/column_qualifier.py +0 -4
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/config.py +9 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/expression/hybrid_column_map.py +5 -4
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/expression/literal.py +12 -12
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/expression/map_sql_expression.py +18 -4
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/expression/map_unresolved_attribute.py +150 -29
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/expression/map_unresolved_function.py +93 -55
- snowpark_connect-1.0.0/src/snowflake/snowpark_connect/relation/map_aggregate.py +385 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/map_column_ops.py +19 -0
- snowpark_connect-1.0.0/src/snowflake/snowpark_connect/relation/map_join.py +574 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/map_row_ops.py +136 -54
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/map_sql.py +335 -90
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/read/map_read.py +9 -1
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/read/map_read_csv.py +19 -2
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/read/map_read_json.py +90 -2
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/read/map_read_parquet.py +3 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/read/map_read_text.py +4 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/read/reader_config.py +10 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/read/utils.py +41 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/utils.py +50 -2
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/write/map_write.py +251 -292
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/resources_initializer.py +25 -13
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/server.py +9 -24
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/type_mapping.py +2 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/typed_column.py +2 -2
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/context.py +0 -14
- snowpark_connect-1.0.0/src/snowflake/snowpark_connect/utils/expression_transformer.py +163 -0
- snowpark_connect-1.0.0/src/snowflake/snowpark_connect/utils/sequence.py +21 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/session.py +4 -1
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/udf_helper.py +1 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/udtf_helper.py +3 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/version.py +1 -1
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0/src/snowpark_connect.egg-info}/PKG-INFO +4 -2
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowpark_connect.egg-info/SOURCES.txt +2 -64
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowpark_connect.egg-info/requires.txt +3 -1
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/antlr4-runtime-4.9.3.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/commons-cli-1.5.0.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/commons-codec-1.16.1.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/commons-collections-3.2.2.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/commons-collections4-4.4.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/commons-compiler-3.1.9.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/commons-compress-1.26.0.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/commons-crypto-1.1.0.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/commons-dbcp-1.4.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/commons-io-2.16.1.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/commons-lang-2.6.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/commons-lang3-3.12.0.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/commons-logging-1.1.3.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/commons-math3-3.6.1.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/commons-pool-1.5.4.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/commons-text-1.10.0.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/hadoop-client-api-trimmed-3.3.4.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/jackson-annotations-2.15.2.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/jackson-core-2.15.2.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/jackson-core-asl-1.9.13.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/jackson-databind-2.15.2.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/jackson-dataformat-yaml-2.15.2.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/jackson-datatype-jsr310-2.15.2.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/jackson-module-scala_2.12-2.15.2.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/json4s-ast_2.12-3.7.0-M11.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/json4s-core_2.12-3.7.0-M11.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/json4s-jackson_2.12-3.7.0-M11.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/json4s-native_2.12-3.7.0-M11.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/json4s-scalap_2.12-3.7.0-M11.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/kryo-shaded-4.0.2.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/log4j-1.2-api-2.20.0.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/log4j-api-2.20.0.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/log4j-core-2.20.0.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/log4j-slf4j2-impl-2.20.0.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/paranamer-2.8.3.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/paranamer-2.8.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/sas-scala-udf_2.12-0.1.0.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/scala-collection-compat_2.12-2.7.0.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/scala-library-2.12.18.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/scala-parser-combinators_2.12-2.3.0.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/scala-reflect-2.12.18.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/scala-xml_2.12-2.1.0.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/slf4j-api-2.0.7.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/spark-catalyst_2.12-3.5.6.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/spark-common-utils_2.12-3.5.6.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/spark-connect-client-jvm_2.12-3.5.6.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/spark-core_2.12-3.5.6.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/spark-graphx_2.12-3.5.6.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/spark-hive-thriftserver_2.12-3.5.6.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/spark-hive_2.12-3.5.6.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/spark-kvstore_2.12-3.5.6.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/spark-launcher_2.12-3.5.6.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/spark-mesos_2.12-3.5.6.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/spark-mllib-local_2.12-3.5.6.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/spark-network-common_2.12-3.5.6.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/spark-network-shuffle_2.12-3.5.6.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/spark-repl_2.12-3.5.6.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/spark-sketch_2.12-3.5.6.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/spark-sql-api_2.12-3.5.6.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/spark-sql_2.12-3.5.6.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/spark-tags_2.12-3.5.6.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/spark-unsafe_2.12-3.5.6.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/includes/jars/spark-yarn_2.12-3.5.6.jar +0 -0
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/relation/map_aggregate.py +0 -486
- snowpark_connect-0.32.0/src/snowflake/snowpark_connect/relation/map_join.py +0 -372
- snowpark_connect-0.32.0/tests/test.py +0 -16
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/LICENSE-binary +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/LICENSE.txt +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/NOTICE-binary +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/README.md +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/setup.cfg +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/analyze_plan/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/analyze_plan/map_tree_string.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/client.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/constants.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/control_server.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/dataframe_container.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/dataframe_name_handler.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/date_time_format_mapping.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/empty_dataframe.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/error/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/error/error_codes.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/error/error_mapping.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/error/error_utils.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/error/exceptions.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/execute_plan/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/execute_plan/map_execution_command.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/execute_plan/map_execution_root.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/execute_plan/utils.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/expression/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/expression/function_defaults.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/expression/map_cast.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/expression/map_expression.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/expression/map_extension.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/expression/map_udf.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/expression/map_unresolved_extract_value.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/expression/map_unresolved_star.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/expression/map_update_fields.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/expression/map_window_function.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/expression/typer.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/_globals.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/_typing.pyi +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/accumulators.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/broadcast.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/cloudpickle/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/cloudpickle/cloudpickle.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/cloudpickle/cloudpickle_fast.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/cloudpickle/compat.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/conf.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/context.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/daemon.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/error_classes.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/exceptions/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/exceptions/base.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/exceptions/captured.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/exceptions/connect.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/utils.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/files.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/find_spark_home.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/install.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/instrumentation_utils.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/java_gateway.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/join.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/_typing.pyi +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/base.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/classification.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/clustering.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/common.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/base.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/classification.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/evaluation.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/feature.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/functions.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/io_utils.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/pipeline.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/summarizer.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/tuning.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/util.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/deepspeed/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/deepspeed/deepspeed_distributor.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/dl_util.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/evaluation.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/feature.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/fpm.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/functions.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/image.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/linalg/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/model_cache.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/param/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/param/_shared_params_code_gen.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/param/shared.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/pipeline.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/recommendation.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/regression.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/stat.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/torch/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/torch/data.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/torch/distributor.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/torch/log_communication.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/torch/torch_run_process_wrapper.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/tree.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/tuning.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/util.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/wrapper.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/_typing.pyi +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/classification.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/clustering.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/common.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/evaluation.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/feature.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/fpm.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/linalg/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/linalg/distributed.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/random.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/recommendation.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/regression.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/stat/KernelDensity.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/stat/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/stat/_statistics.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/stat/distribution.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/stat/test.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/tree.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/util.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/_typing.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/accessors.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/base.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/categorical.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/config.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/correlation.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/base.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/binary_ops.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/boolean_ops.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/categorical_ops.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/complex_ops.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/date_ops.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/datetime_ops.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/null_ops.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/num_ops.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/string_ops.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/timedelta_ops.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/udt_ops.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/datetimes.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/exceptions.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/extensions.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/frame.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/generic.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/groupby.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/base.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/category.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/datetimes.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/multi.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/numeric.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/timedelta.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexing.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/internal.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/common.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/frame.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/general_functions.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/groupby.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/indexes.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/resample.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/scalars.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/series.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/window.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/mlflow.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/namespace.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/numpy_compat.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/plot/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/plot/core.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/plot/matplotlib.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/plot/plotly.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/resample.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/series.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/sql_formatter.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/sql_processor.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/strings.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/supported_api_gen.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/typedef/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/typedef/typehints.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/usage_logging/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/usage_logging/usage_logger.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/utils.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/window.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/profiler.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/py.typed +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/python/pyspark/shell.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/rdd.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/rddsampler.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/resource/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/resource/information.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/resource/profile.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/resource/requests.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/resultiterable.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/serializers.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/shell.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/shuffle.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/_typing.pyi +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/avro/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/avro/functions.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/catalog.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/column.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/conf.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/_typing.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/avro/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/avro/functions.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/catalog.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/client/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/client/artifact.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/client/core.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/client/reattach.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/column.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/conf.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/conversion.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/dataframe.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/expressions.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/functions.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/group.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/plan.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/base_pb2.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/base_pb2.pyi +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/base_pb2_grpc.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/catalog_pb2.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/catalog_pb2.pyi +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/commands_pb2.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/commands_pb2.pyi +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/common_pb2.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/common_pb2.pyi +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/example_plugins_pb2.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/example_plugins_pb2.pyi +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/expressions_pb2.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/expressions_pb2.pyi +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/relations_pb2.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/relations_pb2.pyi +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/types_pb2.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/types_pb2.pyi +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/protobuf/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/protobuf/functions.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/readwriter.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/session.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/streaming/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/streaming/query.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/streaming/readwriter.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/streaming/worker/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/streaming/worker/foreach_batch_worker.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/streaming/worker/listener_worker.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/types.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/udf.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/udtf.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/utils.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/window.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/context.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/dataframe.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/functions.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/group.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/observation.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/_typing/__init__.pyi +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/_typing/protocols/__init__.pyi +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/_typing/protocols/frame.pyi +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/_typing/protocols/series.pyi +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/conversion.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/functions.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/functions.pyi +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/group_ops.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/map_ops.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/serializers.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/typehints.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/types.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/utils.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/protobuf/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/protobuf/functions.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/readwriter.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/session.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/sql_formatter.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/streaming/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/streaming/listener.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/streaming/query.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/streaming/readwriter.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/streaming/state.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/types.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/udf.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/udtf.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/utils.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/window.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/statcounter.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/status.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/storagelevel.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/streaming/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/streaming/context.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/streaming/dstream.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/streaming/kinesis.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/streaming/listener.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/streaming/util.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/taskcontext.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/connectutils.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/mllibutils.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/mlutils.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/objects.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/pandasutils.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/sqlutils.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/streamingutils.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/utils.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/traceback_utils.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/util.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/version.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/worker.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/includes/python/pyspark/worker_util.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/proto/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/proto/control_pb2.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/proto/control_pb2.pyi +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/proto/control_pb2_grpc.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/proto/snowflake_expression_ext_pb2.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/proto/snowflake_expression_ext_pb2.pyi +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/proto/snowflake_rdd_pb2.pyi +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/proto/snowflake_relation_ext_pb2.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/proto/snowflake_relation_ext_pb2.pyi +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/catalogs/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/catalogs/abstract_spark_catalog.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/catalogs/snowflake_catalog.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/catalogs/utils.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/io_utils.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/map_catalog.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/map_crosstab.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/map_extension.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/map_local_relation.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/map_map_partitions.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/map_relation.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/map_sample_by.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/map_show_string.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/map_stats.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/map_subquery_alias.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/map_udtf.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/read/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/read/jdbc_read_dbapi.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/read/map_read_jdbc.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/read/map_read_socket.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/read/map_read_table.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/read/metadata_utils.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/stage_locator.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/write/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/write/jdbc_write_dbapi.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/relation/write/map_write_jdbc.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/resources/java_udfs-1.0-SNAPSHOT.jar +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/start_server.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/tcm.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/artifacts.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/cache.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/concurrent.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/describe_query_cache.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/env_utils.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/external_udxf_cache.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/identifiers.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/interrupt.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/io_utils.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/pandas_udtf_utils.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/profiling.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/scala_udf_utils.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/snowpark_connect_logging.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/telemetry.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/temporary_view_cache.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/udf_cache.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/udf_utils.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/udtf_utils.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/udxf_import_utils.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_connect/utils/xxhash64.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_decoder/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_decoder/_internal/proto/generated/DataframeProcessorMsg_pb2.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_decoder/_internal/proto/generated/DataframeProcessorMsg_pb2.pyi +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_decoder/dp_session.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowflake/snowpark_decoder/spark_decoder.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowpark_connect.egg-info/dependency_links.txt +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/snowpark_connect.egg-info/top_level.txt +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/spark/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/spark/connect/__init__.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/spark/connect/envelope_pb2.py +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/src/spark/connect/envelope_pb2.pyi +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/tools/snowpark-connect +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/tools/snowpark-session +0 -0
- {snowpark_connect-0.32.0 → snowpark_connect-1.0.0}/tools/snowpark-submit +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: snowpark-connect
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 1.0.0
|
|
4
4
|
Summary: Snowpark Connect for Spark
|
|
5
5
|
Author: Snowflake, Inc
|
|
6
6
|
License: Apache License, Version 2.0
|
|
@@ -9,6 +9,8 @@ Description-Content-Type: text/markdown
|
|
|
9
9
|
License-File: LICENSE.txt
|
|
10
10
|
License-File: LICENSE-binary
|
|
11
11
|
License-File: NOTICE-binary
|
|
12
|
+
Requires-Dist: snowpark-connect-deps-1==3.56.2
|
|
13
|
+
Requires-Dist: snowpark-connect-deps-2==3.56.2
|
|
12
14
|
Requires-Dist: certifi>=2025.1.31
|
|
13
15
|
Requires-Dist: cloudpickle
|
|
14
16
|
Requires-Dist: fsspec[http]
|
|
@@ -16,7 +18,7 @@ Requires-Dist: jpype1
|
|
|
16
18
|
Requires-Dist: protobuf<6.32.0,>=4.25.3
|
|
17
19
|
Requires-Dist: s3fs>=2025.3.0
|
|
18
20
|
Requires-Dist: snowflake.core<2,>=1.0.5
|
|
19
|
-
Requires-Dist: snowflake-snowpark-python[pandas]<1.
|
|
21
|
+
Requires-Dist: snowflake-snowpark-python[pandas]<1.43.0,==1.42.0
|
|
20
22
|
Requires-Dist: snowflake-connector-python<4.0.0,>=3.18.0
|
|
21
23
|
Requires-Dist: sqlglot>=26.3.8
|
|
22
24
|
Requires-Dist: jaydebeapi
|
|
@@ -29,7 +29,6 @@ setup(
|
|
|
29
29
|
package_data={
|
|
30
30
|
"": ["*.json"],
|
|
31
31
|
"snowflake.snowpark_connect": ["resources/*.jar"],
|
|
32
|
-
"snowflake.snowpark_connect.includes": ["jars/*.jar"],
|
|
33
32
|
},
|
|
34
33
|
package_dir={"": "src"},
|
|
35
34
|
scripts=[
|
|
@@ -39,6 +38,8 @@ setup(
|
|
|
39
38
|
],
|
|
40
39
|
python_requires=">=3.10,<3.13",
|
|
41
40
|
install_requires=[
|
|
41
|
+
"snowpark-connect-deps-1==3.56.2", # Spark JAR dependencies (71MB)
|
|
42
|
+
"snowpark-connect-deps-2==3.56.2", # Other JAR dependencies (53MB)
|
|
42
43
|
"certifi>=2025.1.31", # prod-297255-inc0132291
|
|
43
44
|
"cloudpickle",
|
|
44
45
|
"fsspec[http]",
|
|
@@ -46,7 +47,7 @@ setup(
|
|
|
46
47
|
"protobuf>=4.25.3,<6.32.0",
|
|
47
48
|
"s3fs>=2025.3.0", # prod-297255-inc0132291
|
|
48
49
|
"snowflake.core>=1.0.5,<2",
|
|
49
|
-
"snowflake-snowpark-python[pandas]==1.
|
|
50
|
+
"snowflake-snowpark-python[pandas]==1.42.0,<1.43.0",
|
|
50
51
|
"snowflake-connector-python>=3.18.0,<4.0.0",
|
|
51
52
|
"sqlglot>=26.3.8",
|
|
52
53
|
"jaydebeapi",
|
|
@@ -27,6 +27,7 @@ from snowflake.snowpark_connect.utils.context import (
|
|
|
27
27
|
from snowflake.snowpark_connect.utils.identifiers import (
|
|
28
28
|
split_fully_qualified_spark_name,
|
|
29
29
|
)
|
|
30
|
+
from snowflake.snowpark_connect.utils.sequence import next_unique_num
|
|
30
31
|
|
|
31
32
|
ALREADY_QUOTED = re.compile('^(".+")$', re.DOTALL)
|
|
32
33
|
|
|
@@ -46,6 +47,7 @@ def set_schema_getter(df: DataFrame, get_schema: Callable[[], StructType]) -> No
|
|
|
46
47
|
df.__class__ = PatchedDataFrame
|
|
47
48
|
|
|
48
49
|
|
|
50
|
+
# TODO replace plan_id-offset with single unique value
|
|
49
51
|
def make_column_names_snowpark_compatible(
|
|
50
52
|
names: list[str], plan_id: int, offset: int = 0
|
|
51
53
|
) -> list[str]:
|
|
@@ -91,6 +93,14 @@ def make_column_names_snowpark_compatible(
|
|
|
91
93
|
]
|
|
92
94
|
|
|
93
95
|
|
|
96
|
+
def make_unique_snowpark_name(spark_name: str) -> str:
|
|
97
|
+
"""
|
|
98
|
+
Returns a snowpark column name that's guaranteed to be unique in this session,
|
|
99
|
+
by appending "#<unique number>" to the given spark name.
|
|
100
|
+
"""
|
|
101
|
+
return quote_name(f"{spark_name}-{next_unique_num():x}")
|
|
102
|
+
|
|
103
|
+
|
|
94
104
|
@dataclass(frozen=True)
|
|
95
105
|
class ColumnNames:
|
|
96
106
|
spark_name: str
|
|
@@ -137,7 +147,7 @@ class ColumnNameMap:
|
|
|
137
147
|
|
|
138
148
|
# Rename chain dictionary to track column renaming history
|
|
139
149
|
self.rename_chains: dict[str, str] = {} # old_name -> new_name mapping
|
|
140
|
-
self.current_columns: set[str] = set() #
|
|
150
|
+
self.current_columns: set[str] = set() # current column names
|
|
141
151
|
|
|
142
152
|
# Parent ColumnNameMap classes
|
|
143
153
|
self._parent_column_name_map = parent_column_name_map
|
|
@@ -170,7 +180,7 @@ class ColumnNameMap:
|
|
|
170
180
|
snowpark_name=snowpark_column_names[i],
|
|
171
181
|
qualifiers=column_qualifiers[i]
|
|
172
182
|
if column_qualifiers and column_qualifiers[i]
|
|
173
|
-
else
|
|
183
|
+
else set(),
|
|
174
184
|
catalog_info=catalog_info,
|
|
175
185
|
database_info=database_info,
|
|
176
186
|
)
|
|
@@ -511,21 +521,6 @@ class ColumnNameMap:
|
|
|
511
521
|
if self._quote_if_unquoted(c.snowpark_name) not in cols_to_drop
|
|
512
522
|
]
|
|
513
523
|
|
|
514
|
-
def get_qualifier_for_spark_column(
|
|
515
|
-
self,
|
|
516
|
-
spark_column_name: str,
|
|
517
|
-
) -> ColumnQualifier:
|
|
518
|
-
"""
|
|
519
|
-
Backward compatibility: returns the first qualifier for the given Spark column name.
|
|
520
|
-
Throws if more than one qualifier exists.
|
|
521
|
-
"""
|
|
522
|
-
qualifiers = self.get_qualifiers_for_spark_column(spark_column_name)
|
|
523
|
-
if len(qualifiers) > 1:
|
|
524
|
-
raise ValueError(
|
|
525
|
-
"Shouldn't happen. Multiple qualifiers found; expected only one."
|
|
526
|
-
)
|
|
527
|
-
return next(iter(qualifiers))
|
|
528
|
-
|
|
529
524
|
def get_qualifiers_for_spark_column(
|
|
530
525
|
self,
|
|
531
526
|
spark_column_name: str,
|
|
@@ -544,7 +539,7 @@ class ColumnNameMap:
|
|
|
544
539
|
col = mapping.get(name)
|
|
545
540
|
|
|
546
541
|
if col is None or len(col) == 0:
|
|
547
|
-
return
|
|
542
|
+
return set()
|
|
548
543
|
|
|
549
544
|
return col[0].qualifiers
|
|
550
545
|
|
|
@@ -605,7 +600,7 @@ class ColumnNameMap:
|
|
|
605
600
|
removed_index.add(index)
|
|
606
601
|
spark_columns.append(new_spark_columns[index])
|
|
607
602
|
snowpark_columns.append(new_snowpark_columns[index])
|
|
608
|
-
qualifiers.append(
|
|
603
|
+
qualifiers.append(set())
|
|
609
604
|
else:
|
|
610
605
|
spark_columns.append(c.spark_name)
|
|
611
606
|
snowpark_columns.append(c.snowpark_name)
|
|
@@ -615,7 +610,7 @@ class ColumnNameMap:
|
|
|
615
610
|
if i not in removed_index:
|
|
616
611
|
spark_columns.append(new_spark_columns[i])
|
|
617
612
|
snowpark_columns.append(new_snowpark_columns[i])
|
|
618
|
-
qualifiers.append(
|
|
613
|
+
qualifiers.append(set())
|
|
619
614
|
|
|
620
615
|
return spark_columns, snowpark_columns, qualifiers
|
|
621
616
|
|
|
@@ -625,6 +620,71 @@ class ColumnNameMap:
|
|
|
625
620
|
else:
|
|
626
621
|
return spark_name.upper()
|
|
627
622
|
|
|
623
|
+
def get_columns_after_join(
|
|
624
|
+
self, right: ColumnNameMap, join_columns: list[str], join_type: str
|
|
625
|
+
) -> list[ColumnNames]:
|
|
626
|
+
"""
|
|
627
|
+
Returns a list of columns (names and qualifiers) after a using_columns join with the given column map
|
|
628
|
+
"""
|
|
629
|
+
|
|
630
|
+
# first, let's gather right-side join columns for qualifier lookup
|
|
631
|
+
# and the remaining columns to append them to the result
|
|
632
|
+
join_column_names = [self._normalized_spark_name(c) for c in join_columns]
|
|
633
|
+
right_join_columns: dict[str, ColumnNames] = {}
|
|
634
|
+
right_remaining_columns: list[ColumnNames] = []
|
|
635
|
+
for oc in right.columns:
|
|
636
|
+
col_name = self._normalized_spark_name(oc.spark_name)
|
|
637
|
+
# only take the first matching column
|
|
638
|
+
if col_name in join_column_names and col_name not in right_join_columns:
|
|
639
|
+
right_join_columns[col_name] = oc
|
|
640
|
+
else:
|
|
641
|
+
right_remaining_columns.append(oc)
|
|
642
|
+
|
|
643
|
+
# now gather left-side columns
|
|
644
|
+
left_join_columns: dict[str, ColumnNames] = {}
|
|
645
|
+
left_remaining_columns: list[ColumnNames] = []
|
|
646
|
+
for c in self.columns:
|
|
647
|
+
col_name = self._normalized_spark_name(c.spark_name)
|
|
648
|
+
if col_name in join_column_names and col_name not in left_join_columns:
|
|
649
|
+
# only assign join-side qualifier for outer joins
|
|
650
|
+
match join_type:
|
|
651
|
+
case "left":
|
|
652
|
+
qualifiers = c.qualifiers
|
|
653
|
+
case "right":
|
|
654
|
+
qualifiers = right_join_columns[col_name].qualifiers
|
|
655
|
+
case _:
|
|
656
|
+
qualifiers = (
|
|
657
|
+
c.qualifiers | right_join_columns[col_name].qualifiers
|
|
658
|
+
)
|
|
659
|
+
left_join_columns[col_name] = ColumnNames(
|
|
660
|
+
c.spark_name, c.snowpark_name, qualifiers
|
|
661
|
+
)
|
|
662
|
+
else:
|
|
663
|
+
left_remaining_columns.append(c)
|
|
664
|
+
|
|
665
|
+
# join columns go first in the user-given order,
|
|
666
|
+
# then the remaining left-side columns, then remaining right-side columns
|
|
667
|
+
match join_type:
|
|
668
|
+
case "right":
|
|
669
|
+
ordered_join_columns = [
|
|
670
|
+
right_join_columns[name] for name in join_column_names
|
|
671
|
+
]
|
|
672
|
+
case _:
|
|
673
|
+
ordered_join_columns = [
|
|
674
|
+
left_join_columns[name] for name in join_column_names
|
|
675
|
+
]
|
|
676
|
+
return ordered_join_columns + left_remaining_columns + right_remaining_columns
|
|
677
|
+
|
|
678
|
+
def get_conflicting_snowpark_columns(self, other: ColumnNameMap) -> set[str]:
|
|
679
|
+
conflicting_columns = set()
|
|
680
|
+
snowpark_names = {c.snowpark_name for c in self.columns}
|
|
681
|
+
|
|
682
|
+
for c in other.columns:
|
|
683
|
+
if c.snowpark_name in snowpark_names:
|
|
684
|
+
conflicting_columns.add(c.snowpark_name)
|
|
685
|
+
|
|
686
|
+
return conflicting_columns
|
|
687
|
+
|
|
628
688
|
|
|
629
689
|
class JoinColumnNameMap(ColumnNameMap):
|
|
630
690
|
def __init__(
|
|
@@ -681,19 +741,6 @@ class JoinColumnNameMap(ColumnNameMap):
|
|
|
681
741
|
else snowpark_column_name_in_left
|
|
682
742
|
)
|
|
683
743
|
|
|
684
|
-
# this means that the reference is for the column in right dataframe but same snowpark name exist in left dataframe as well
|
|
685
|
-
# or vice versa, so we need to append _left or _right to the snowpark name
|
|
686
|
-
if (
|
|
687
|
-
snowpark_name in self.left_column_mapping.get_snowpark_columns()
|
|
688
|
-
and snowpark_column_name_in_right is not None
|
|
689
|
-
):
|
|
690
|
-
snowpark_name = quote_name(f"{unquote_if_quoted(snowpark_name)}_right")
|
|
691
|
-
elif (
|
|
692
|
-
snowpark_name in self.right_column_mapping.get_snowpark_columns()
|
|
693
|
-
and snowpark_column_name_in_left is not None
|
|
694
|
-
):
|
|
695
|
-
snowpark_name = quote_name(f"{unquote_if_quoted(snowpark_name)}_left")
|
|
696
|
-
|
|
697
744
|
return snowpark_name
|
|
698
745
|
|
|
699
746
|
def get_snowpark_column_names_from_spark_column_names(
|
|
@@ -784,19 +831,23 @@ class JoinColumnNameMap(ColumnNameMap):
|
|
|
784
831
|
def get_qualifiers_for_spark_column(
|
|
785
832
|
self, spark_column_name: str
|
|
786
833
|
) -> set[ColumnQualifier]:
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
def get_qualifier_for_spark_column(self, spark_column_name: str) -> ColumnQualifier:
|
|
790
|
-
qualifier_left = self.left_column_mapping.get_qualifier_for_spark_column(
|
|
834
|
+
qualifiers_left = self.left_column_mapping.get_qualifiers_for_spark_column(
|
|
791
835
|
spark_column_name
|
|
792
836
|
)
|
|
793
|
-
|
|
837
|
+
qualifiers_right = self.right_column_mapping.get_qualifiers_for_spark_column(
|
|
794
838
|
spark_column_name
|
|
795
839
|
)
|
|
796
840
|
|
|
797
|
-
if (
|
|
841
|
+
if (len(qualifiers_left) > 0) and (len(qualifiers_right) > 0):
|
|
798
842
|
exception = AnalysisException(f"Ambiguous column name {spark_column_name}")
|
|
799
843
|
attach_custom_error_code(exception, ErrorCodes.AMBIGUOUS_COLUMN_NAME)
|
|
800
844
|
raise exception
|
|
801
845
|
|
|
802
|
-
return
|
|
846
|
+
return qualifiers_right if len(qualifiers_left) == 0 else qualifiers_left
|
|
847
|
+
|
|
848
|
+
def get_columns_after_join(
|
|
849
|
+
self, right: ColumnNameMap, join_columns: list[str], join_type: str
|
|
850
|
+
) -> list[ColumnNames]:
|
|
851
|
+
exception = NotImplementedError("Method not implemented!")
|
|
852
|
+
attach_custom_error_code(exception, ErrorCodes.INTERNAL_ERROR)
|
|
853
|
+
raise exception
|
|
@@ -23,10 +23,6 @@ class ColumnQualifier:
|
|
|
23
23
|
def is_empty(self) -> bool:
|
|
24
24
|
return len(self.parts) == 0
|
|
25
25
|
|
|
26
|
-
@classmethod
|
|
27
|
-
def no_qualifier(cls) -> ColumnQualifier:
|
|
28
|
-
return cls(())
|
|
29
|
-
|
|
30
26
|
def all_qualified_names(self, name: str) -> list[str]:
|
|
31
27
|
qualifier_parts = self.parts
|
|
32
28
|
qualifier_prefixes = [
|
|
@@ -275,6 +275,7 @@ SESSION_CONFIG_KEY_WHITELIST = {
|
|
|
275
275
|
"spark.hadoop.fs.s3a.server-side-encryption.key",
|
|
276
276
|
"spark.hadoop.fs.s3a.assumed.role.arn",
|
|
277
277
|
"snowpark.connect.describe_cache_ttl_seconds",
|
|
278
|
+
"mapreduce.fileoutputcommitter.marksuccessfuljobs",
|
|
278
279
|
}
|
|
279
280
|
AZURE_ACCOUNT_KEY = re.compile(
|
|
280
281
|
r"^fs\.azure\.sas\.[^\.]+\.[^\.]+\.blob\.core\.windows\.net$"
|
|
@@ -304,6 +305,7 @@ class SessionConfig:
|
|
|
304
305
|
"spark.sql.tvf.allowMultipleTableArguments.enabled": "true",
|
|
305
306
|
"snowpark.connect.enable_snowflake_extension_behavior": "false",
|
|
306
307
|
"snowpark.connect.describe_cache_ttl_seconds": "300",
|
|
308
|
+
"mapreduce.fileoutputcommitter.marksuccessfuljobs": "false",
|
|
307
309
|
}
|
|
308
310
|
|
|
309
311
|
def __init__(self) -> None:
|
|
@@ -639,6 +641,13 @@ def get_cte_optimization_enabled() -> bool:
|
|
|
639
641
|
return get_boolean_session_config_param("snowpark.connect.cte.optimization_enabled")
|
|
640
642
|
|
|
641
643
|
|
|
644
|
+
def get_success_file_generation_enabled() -> bool:
|
|
645
|
+
"""Get the _SUCCESS file generation configuration setting."""
|
|
646
|
+
return get_boolean_session_config_param(
|
|
647
|
+
"mapreduce.fileoutputcommitter.marksuccessfuljobs"
|
|
648
|
+
)
|
|
649
|
+
|
|
650
|
+
|
|
642
651
|
def get_describe_cache_ttl_seconds() -> int:
|
|
643
652
|
"""Get the describe query cache TTL from session config, with a default fallback."""
|
|
644
653
|
session_config: SessionConfig = sessions_config[get_session_id()]
|
|
@@ -148,14 +148,15 @@ class HybridColumnMap:
|
|
|
148
148
|
exp, self.aggregated_column_map, self.aggregated_typer
|
|
149
149
|
)
|
|
150
150
|
|
|
151
|
-
# For other expression types, try aggregated context first (likely references to computed values)
|
|
152
151
|
try:
|
|
152
|
+
# 1. Evaluate the expression using the input grouping columns. i.e input_df.
|
|
153
|
+
# If not found, use the aggregate alias.
|
|
154
|
+
return map_expression(exp, self.input_column_map, self.input_typer)
|
|
155
|
+
except Exception:
|
|
156
|
+
# Fall back to input context
|
|
153
157
|
return map_expression(
|
|
154
158
|
exp, self.aggregated_column_map, self.aggregated_typer
|
|
155
159
|
)
|
|
156
|
-
except Exception:
|
|
157
|
-
# Fall back to input context
|
|
158
|
-
return map_expression(exp, self.input_column_map, self.input_typer)
|
|
159
160
|
|
|
160
161
|
|
|
161
162
|
def create_hybrid_column_map_for_having(
|
|
@@ -12,7 +12,6 @@ from tzlocal import get_localzone
|
|
|
12
12
|
from snowflake.snowpark_connect.config import global_config
|
|
13
13
|
from snowflake.snowpark_connect.error.error_codes import ErrorCodes
|
|
14
14
|
from snowflake.snowpark_connect.error.error_utils import attach_custom_error_code
|
|
15
|
-
from snowflake.snowpark_connect.utils.context import get_is_evaluating_sql
|
|
16
15
|
from snowflake.snowpark_connect.utils.telemetry import (
|
|
17
16
|
SnowparkConnectNotImplementedError,
|
|
18
17
|
)
|
|
@@ -55,20 +54,21 @@ def get_literal_field_and_name(literal: expressions_proto.Expression.Literal):
|
|
|
55
54
|
microseconds = literal.timestamp
|
|
56
55
|
else:
|
|
57
56
|
microseconds = literal.timestamp_ntz
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
tz_dt = datetime.datetime.fromtimestamp(
|
|
62
|
-
microseconds // 1_000_000, tz=local_tz
|
|
57
|
+
|
|
58
|
+
dt_utc = datetime.datetime.fromtimestamp(
|
|
59
|
+
microseconds // 1_000_000, tz=datetime.timezone.utc
|
|
63
60
|
) + datetime.timedelta(microseconds=microseconds % 1_000_000)
|
|
61
|
+
|
|
64
62
|
if t == "timestamp_ntz":
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
63
|
+
# For timestamp_ntz, display in UTC
|
|
64
|
+
lit_dt = dt_utc.replace(tzinfo=None)
|
|
65
|
+
tz_dt = dt_utc
|
|
66
|
+
else:
|
|
67
|
+
# For timestamp_ltz, always display in session timezone
|
|
68
68
|
config_tz = global_config.spark_sql_session_timeZone
|
|
69
|
-
|
|
70
|
-
tz_dt =
|
|
71
|
-
lit_dt =
|
|
69
|
+
display_tz = ZoneInfo(config_tz) if config_tz else local_tz
|
|
70
|
+
tz_dt = dt_utc.astimezone(display_tz)
|
|
71
|
+
lit_dt = tz_dt.replace(tzinfo=None)
|
|
72
72
|
|
|
73
73
|
def _format_timestamp(dt) -> str:
|
|
74
74
|
without_micros = f"{dt.year:04d}-{dt.month:02d}-{dt.day:02d} {dt.hour:02d}:{dt.minute:02d}:{dt.second:02d}"
|
|
@@ -67,10 +67,16 @@ def sql_parser():
|
|
|
67
67
|
"""
|
|
68
68
|
|
|
69
69
|
ts_type = global_config.spark_sql_timestampType
|
|
70
|
+
session_tz = global_config.spark_sql_session_timeZone
|
|
70
71
|
|
|
71
72
|
if ts_type is not None:
|
|
72
73
|
_get_sql_conf().get().setConfString("spark.sql.timestampType", str(ts_type))
|
|
73
74
|
|
|
75
|
+
if session_tz is not None:
|
|
76
|
+
_get_sql_conf().get().setConfString(
|
|
77
|
+
"spark.sql.session.timeZone", str(session_tz)
|
|
78
|
+
)
|
|
79
|
+
|
|
74
80
|
return _get_sql_parser()
|
|
75
81
|
|
|
76
82
|
|
|
@@ -418,13 +424,21 @@ def map_logical_plan_expression(exp: jpype.JObject) -> expressions_proto.Express
|
|
|
418
424
|
)
|
|
419
425
|
)
|
|
420
426
|
case "Like" | "ILike" | "RLike":
|
|
427
|
+
arguments = [
|
|
428
|
+
map_logical_plan_expression(e)
|
|
429
|
+
for e in list(as_java_list(exp.children()))
|
|
430
|
+
]
|
|
431
|
+
# exp.escapeChar() returns a JPype JChar - convert to string and create a literal
|
|
432
|
+
if getattr(exp, "escapeChar", None) is not None:
|
|
433
|
+
escape_char_str = str(exp.escapeChar())
|
|
434
|
+
escape_literal = expressions_proto.Expression(
|
|
435
|
+
literal=expressions_proto.Expression.Literal(string=escape_char_str)
|
|
436
|
+
)
|
|
437
|
+
arguments.append(escape_literal)
|
|
421
438
|
proto = expressions_proto.Expression(
|
|
422
439
|
unresolved_function=expressions_proto.Expression.UnresolvedFunction(
|
|
423
440
|
function_name=class_name.lower(),
|
|
424
|
-
arguments=
|
|
425
|
-
map_logical_plan_expression(e)
|
|
426
|
-
for e in list(as_java_list(exp.children()))
|
|
427
|
-
],
|
|
441
|
+
arguments=arguments,
|
|
428
442
|
)
|
|
429
443
|
)
|
|
430
444
|
case "LikeAny" | "NotLikeAny" | "LikeAll" | "NotLikeAll":
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
|
|
5
5
|
import re
|
|
6
|
+
from typing import Any
|
|
6
7
|
|
|
7
8
|
import pyspark.sql.connect.proto.expressions_pb2 as expressions_proto
|
|
8
9
|
from pyspark.errors.exceptions.connect import AnalysisException
|
|
@@ -69,6 +70,143 @@ def _get_catalog_database_from_column_map(
|
|
|
69
70
|
return catalog_database_info
|
|
70
71
|
|
|
71
72
|
|
|
73
|
+
def _try_resolve_column_in_scopes(
|
|
74
|
+
column_name: str, column_mapping: ColumnNameMap
|
|
75
|
+
) -> tuple[str | None, Any]:
|
|
76
|
+
"""
|
|
77
|
+
Try to resolve a column name in current and outer scopes.
|
|
78
|
+
|
|
79
|
+
Args:
|
|
80
|
+
column_name: The column name to resolve
|
|
81
|
+
column_mapping: The column mapping for the current scope
|
|
82
|
+
|
|
83
|
+
Returns:
|
|
84
|
+
Tuple of (snowpark_name, found_column_map) or (None, None) if not found
|
|
85
|
+
"""
|
|
86
|
+
# Try current scope
|
|
87
|
+
snowpark_name = column_mapping.get_snowpark_column_name_from_spark_column_name(
|
|
88
|
+
column_name, allow_non_exists=True
|
|
89
|
+
)
|
|
90
|
+
if snowpark_name is not None:
|
|
91
|
+
return snowpark_name, column_mapping
|
|
92
|
+
|
|
93
|
+
# Try outer scopes
|
|
94
|
+
for outer_df in get_outer_dataframes():
|
|
95
|
+
snowpark_name = (
|
|
96
|
+
outer_df.column_map.get_snowpark_column_name_from_spark_column_name(
|
|
97
|
+
column_name, allow_non_exists=True
|
|
98
|
+
)
|
|
99
|
+
)
|
|
100
|
+
if snowpark_name is not None:
|
|
101
|
+
return snowpark_name, outer_df.column_map
|
|
102
|
+
|
|
103
|
+
return None, None
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
def _find_column_with_qualifier_match(
|
|
107
|
+
name_parts: list[str],
|
|
108
|
+
column_mapping: ColumnNameMap,
|
|
109
|
+
) -> tuple[int, str | None, Any]:
|
|
110
|
+
"""
|
|
111
|
+
Find the column position in name_parts where the prefix matches a qualifier.
|
|
112
|
+
|
|
113
|
+
In Spark, table qualifiers have at most 3 parts:
|
|
114
|
+
- 1 part: table only (e.g., 't1') → ColumnQualifier(('t1',))
|
|
115
|
+
- 2 parts: database.table (e.g., 'mydb.t5') → ColumnQualifier(('mydb', 't5'))
|
|
116
|
+
- 3 parts: catalog.database.table (e.g., 'cat.mydb.t5') → ColumnQualifier(('cat', 'mydb', 't5'))
|
|
117
|
+
|
|
118
|
+
Examples of how this works (suffix matching):
|
|
119
|
+
1) Input: "mydb1.t5.t5.i1" with qualifier ('mydb1', 't5')
|
|
120
|
+
- At i=2: prefix=['mydb1','t5'], matches qualifier suffix ('mydb1', 't5') → Column found!
|
|
121
|
+
- Remaining ['i1'] is treated as field access
|
|
122
|
+
|
|
123
|
+
2) Input: "t5.t5.i1" with qualifier ('mydb1', 't5')
|
|
124
|
+
- At i=1: prefix=['t5'], matches qualifier suffix ('t5',) → Column found!
|
|
125
|
+
- Remaining ['i1'] is treated as field access
|
|
126
|
+
|
|
127
|
+
3) Input: "cat.mydb.t5.t5.i1" with qualifier ('cat', 'mydb', 't5')
|
|
128
|
+
- At i=3: prefix=['cat','mydb','t5'], matches qualifier suffix → Column found!
|
|
129
|
+
- Remaining ['i1'] is treated as field access
|
|
130
|
+
|
|
131
|
+
The key insight: if the prefix before a candidate matches the END (suffix) of a qualifier,
|
|
132
|
+
then that position is the column reference. This allows partial qualification (e.g., just table
|
|
133
|
+
name instead of full database.table)
|
|
134
|
+
|
|
135
|
+
Args:
|
|
136
|
+
name_parts: The parts of the qualified name (e.g., ['mydb1', 't5', 't5', 'i1'])
|
|
137
|
+
column_mapping: The column mapping to resolve columns against
|
|
138
|
+
|
|
139
|
+
Returns:
|
|
140
|
+
Tuple of (column_part_index, snowpark_name, found_column_map)
|
|
141
|
+
Returns (0, None, None) if no valid column found
|
|
142
|
+
|
|
143
|
+
Raises:
|
|
144
|
+
AnalysisException: If a column is found but with invalid qualifier (scope violation)
|
|
145
|
+
"""
|
|
146
|
+
# Track if we found a column but with wrong qualifier (scope violation)
|
|
147
|
+
scope_violation = None
|
|
148
|
+
|
|
149
|
+
for i in range(len(name_parts)):
|
|
150
|
+
candidate_column = name_parts[i]
|
|
151
|
+
snowpark_name, found_column_map = _try_resolve_column_in_scopes(
|
|
152
|
+
candidate_column, column_mapping
|
|
153
|
+
)
|
|
154
|
+
|
|
155
|
+
if snowpark_name is not None:
|
|
156
|
+
candidate_qualifiers = found_column_map.get_qualifiers_for_spark_column(
|
|
157
|
+
candidate_column
|
|
158
|
+
)
|
|
159
|
+
prefix_parts = name_parts[:i]
|
|
160
|
+
|
|
161
|
+
# Check if this is a valid column reference position
|
|
162
|
+
# A valid position is where the prefix exactly matches one of the qualifiers
|
|
163
|
+
is_valid_reference = False
|
|
164
|
+
|
|
165
|
+
if i == 0:
|
|
166
|
+
# No prefix (unqualified access)
|
|
167
|
+
# Always valid - Spark allows unqualified access to any column
|
|
168
|
+
# The remaining parts (name_parts[1:]) will be treated as
|
|
169
|
+
# struct/map/array field access (e.g., "person.address.city" where
|
|
170
|
+
# person is the column and address.city is the field path)
|
|
171
|
+
is_valid_reference = True
|
|
172
|
+
else:
|
|
173
|
+
# Has prefix - check if it matches the end (suffix) of any qualifier
|
|
174
|
+
# Spark allows partial qualification, so for qualifier ('mydb1', 't5'):
|
|
175
|
+
# - Can access as mydb1.t5.t5.i1 (full qualifier match)
|
|
176
|
+
# - Can access as t5.t5.i1 (suffix match - just table part)
|
|
177
|
+
# e.g., for "t5.t5.i1", when i=1, prefix=['t5'] matches suffix of ('mydb1', 't5')
|
|
178
|
+
# If valid, the remaining parts (name_parts[i+1:]) will be treated as
|
|
179
|
+
# struct/map/array field access (e.g., ['i1'] is a field in column t5)
|
|
180
|
+
for qual in candidate_qualifiers:
|
|
181
|
+
if len(qual.parts) >= len(prefix_parts) and qual.parts[
|
|
182
|
+
-len(prefix_parts) :
|
|
183
|
+
] == tuple(prefix_parts):
|
|
184
|
+
is_valid_reference = True
|
|
185
|
+
break
|
|
186
|
+
|
|
187
|
+
if is_valid_reference:
|
|
188
|
+
# This is the actual column reference
|
|
189
|
+
return (i, snowpark_name, found_column_map)
|
|
190
|
+
elif i > 0:
|
|
191
|
+
# Found column but qualifier doesn't match - this is a scope violation
|
|
192
|
+
# e.g., SELECT nt1.k where k exists but nt1 is not its qualifier
|
|
193
|
+
attr_name = ".".join(name_parts)
|
|
194
|
+
scope_violation = (attr_name, ".".join(prefix_parts))
|
|
195
|
+
|
|
196
|
+
# If we detected a scope violation, throw error
|
|
197
|
+
if scope_violation:
|
|
198
|
+
attr_name, invalid_qualifier = scope_violation
|
|
199
|
+
exception = AnalysisException(
|
|
200
|
+
f'[UNRESOLVED_COLUMN] Column "{attr_name}" cannot be resolved. '
|
|
201
|
+
f'The table or alias "{invalid_qualifier}" is not in scope or does not exist.'
|
|
202
|
+
)
|
|
203
|
+
attach_custom_error_code(exception, ErrorCodes.COLUMN_NOT_FOUND)
|
|
204
|
+
raise exception
|
|
205
|
+
|
|
206
|
+
# No valid column found
|
|
207
|
+
return (0, None, None)
|
|
208
|
+
|
|
209
|
+
|
|
72
210
|
def map_unresolved_attribute(
|
|
73
211
|
exp: expressions_proto.Expression,
|
|
74
212
|
column_mapping: ColumnNameMap,
|
|
@@ -275,12 +413,14 @@ def map_unresolved_attribute(
|
|
|
275
413
|
else:
|
|
276
414
|
quoted_attr_name = name_parts[0]
|
|
277
415
|
|
|
278
|
-
|
|
279
|
-
|
|
416
|
+
# Try to resolve the full qualified name first
|
|
417
|
+
snowpark_name, found_column_map = _try_resolve_column_in_scopes(
|
|
418
|
+
quoted_attr_name, column_mapping
|
|
280
419
|
)
|
|
420
|
+
|
|
281
421
|
if snowpark_name is not None:
|
|
282
422
|
col = get_col(snowpark_name)
|
|
283
|
-
qualifiers =
|
|
423
|
+
qualifiers = found_column_map.get_qualifiers_for_spark_column(quoted_attr_name)
|
|
284
424
|
else:
|
|
285
425
|
# this means it has to be a struct column with a field name
|
|
286
426
|
snowpark_name: str | None = None
|
|
@@ -291,32 +431,13 @@ def map_unresolved_attribute(
|
|
|
291
431
|
original_attr_name, column_mapping
|
|
292
432
|
)
|
|
293
433
|
|
|
294
|
-
#
|
|
295
|
-
#
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
snowpark_name
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
)
|
|
302
|
-
)
|
|
303
|
-
if snowpark_name is not None:
|
|
304
|
-
column_part_index = i
|
|
305
|
-
break
|
|
306
|
-
|
|
307
|
-
# Also try in outer dataframes
|
|
308
|
-
for outer_df in get_outer_dataframes():
|
|
309
|
-
snowpark_name = (
|
|
310
|
-
outer_df.column_map.get_snowpark_column_name_from_spark_column_name(
|
|
311
|
-
candidate_column, allow_non_exists=True
|
|
312
|
-
)
|
|
313
|
-
)
|
|
314
|
-
if snowpark_name is not None:
|
|
315
|
-
column_part_index = i
|
|
316
|
-
break
|
|
317
|
-
|
|
318
|
-
if snowpark_name is not None:
|
|
319
|
-
break
|
|
434
|
+
# Find the column by matching qualifiers with the prefix parts
|
|
435
|
+
# Note: This may raise AnalysisException if a scope violation is detected
|
|
436
|
+
(
|
|
437
|
+
column_part_index,
|
|
438
|
+
snowpark_name,
|
|
439
|
+
found_column_map,
|
|
440
|
+
) = _find_column_with_qualifier_match(name_parts, column_mapping)
|
|
320
441
|
|
|
321
442
|
if snowpark_name is None:
|
|
322
443
|
# Attempt LCA fallback.
|