snowpark-connect 0.30.0__tar.gz → 0.31.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.30.0/src/snowpark_connect.egg-info → snowpark_connect-0.31.0}/PKG-INFO +3 -2
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/setup.py +2 -1
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/column_name_handler.py +150 -25
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/config.py +54 -16
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/date_time_format_mapping.py +71 -13
- snowpark_connect-0.31.0/src/snowflake/snowpark_connect/error/error_codes.py +50 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/error/error_utils.py +142 -22
- snowpark_connect-0.31.0/src/snowflake/snowpark_connect/error/exceptions.py +37 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/execute_plan/map_execution_command.py +5 -1
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/execute_plan/map_execution_root.py +5 -1
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/execute_plan/utils.py +5 -1
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/function_defaults.py +9 -2
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/literal.py +7 -1
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/map_cast.py +17 -5
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/map_expression.py +48 -4
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/map_extension.py +25 -5
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/map_sql_expression.py +65 -30
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/map_udf.py +10 -2
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/map_unresolved_attribute.py +33 -9
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/map_unresolved_function.py +627 -205
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/map_unresolved_star.py +5 -1
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/map_update_fields.py +14 -4
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/map_window_function.py +18 -3
- snowpark_connect-0.31.0/src/snowflake/snowpark_connect/proto/snowflake_expression_ext_pb2_grpc.py +4 -0
- snowpark_connect-0.31.0/src/snowflake/snowpark_connect/proto/snowflake_relation_ext_pb2_grpc.py +4 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/catalogs/abstract_spark_catalog.py +65 -17
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/catalogs/snowflake_catalog.py +34 -12
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/catalogs/utils.py +12 -4
- snowpark_connect-0.31.0/src/snowflake/snowpark_connect/relation/io_utils.py +158 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_catalog.py +5 -1
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_column_ops.py +88 -56
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_extension.py +28 -8
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_join.py +21 -10
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_local_relation.py +5 -1
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_relation.py +33 -7
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_row_ops.py +36 -9
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_sql.py +91 -24
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_stats.py +25 -6
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_udtf.py +14 -4
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/read/jdbc_read_dbapi.py +49 -13
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/read/map_read.py +24 -3
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/read/map_read_csv.py +11 -3
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/read/map_read_jdbc.py +17 -5
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/read/map_read_json.py +8 -2
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/read/map_read_parquet.py +13 -3
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/read/map_read_socket.py +11 -3
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/read/map_read_table.py +15 -5
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/read/map_read_text.py +5 -1
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/read/metadata_utils.py +5 -1
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/stage_locator.py +5 -1
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/utils.py +19 -2
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/write/jdbc_write_dbapi.py +19 -3
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/write/map_write.py +146 -63
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/write/map_write_jdbc.py +8 -2
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/resources_initializer.py +5 -1
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/server.py +72 -19
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/type_mapping.py +54 -17
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/context.py +42 -1
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/describe_query_cache.py +3 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/env_utils.py +5 -1
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/identifiers.py +11 -3
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/pandas_udtf_utils.py +8 -4
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/profiling.py +25 -8
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/scala_udf_utils.py +11 -3
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/session.py +5 -2
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/telemetry.py +81 -18
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/temporary_view_cache.py +5 -1
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/udf_cache.py +5 -3
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/udf_helper.py +20 -6
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/udf_utils.py +4 -4
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/udtf_helper.py +5 -1
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/udtf_utils.py +34 -26
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/version.py +1 -1
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0/src/snowpark_connect.egg-info}/PKG-INFO +3 -2
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowpark_connect.egg-info/SOURCES.txt +3 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowpark_connect.egg-info/requires.txt +2 -1
- snowpark_connect-0.30.0/src/snowflake/snowpark_connect/error/exceptions.py +0 -28
- snowpark_connect-0.30.0/src/snowflake/snowpark_connect/relation/io_utils.py +0 -96
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/LICENSE-binary +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/LICENSE.txt +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/NOTICE-binary +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/README.md +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/setup.cfg +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/analyze_plan/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/analyze_plan/map_tree_string.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/client.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/constants.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/control_server.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/dataframe_container.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/dataframe_name_handler.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/empty_dataframe.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/error/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/error/error_mapping.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/execute_plan/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/hybrid_column_map.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/map_unresolved_extract_value.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/expression/typer.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/antlr4-runtime-4.9.3.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-cli-1.5.0.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-codec-1.16.1.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-collections-3.2.2.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-collections4-4.4.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-compiler-3.1.9.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-compress-1.26.0.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-crypto-1.1.0.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-dbcp-1.4.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-io-2.16.1.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-lang-2.6.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-lang3-3.12.0.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-logging-1.1.3.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-math3-3.6.1.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-pool-1.5.4.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/commons-text-1.10.0.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/hadoop-client-api-trimmed-3.3.4.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/jackson-annotations-2.15.2.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/jackson-core-2.15.2.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/jackson-core-asl-1.9.13.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/jackson-databind-2.15.2.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/jackson-dataformat-yaml-2.15.2.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/jackson-datatype-jsr310-2.15.2.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/jackson-module-scala_2.12-2.15.2.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/json4s-ast_2.12-3.7.0-M11.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/json4s-core_2.12-3.7.0-M11.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/json4s-jackson_2.12-3.7.0-M11.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/json4s-native_2.12-3.7.0-M11.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/json4s-scalap_2.12-3.7.0-M11.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/kryo-shaded-4.0.2.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/log4j-1.2-api-2.20.0.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/log4j-api-2.20.0.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/log4j-core-2.20.0.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/log4j-slf4j2-impl-2.20.0.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/paranamer-2.8.3.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/paranamer-2.8.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/sas-scala-udf_2.12-0.1.0.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/scala-collection-compat_2.12-2.7.0.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/scala-library-2.12.18.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/scala-parser-combinators_2.12-2.3.0.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/scala-reflect-2.12.18.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/scala-xml_2.12-2.1.0.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/slf4j-api-2.0.7.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-catalyst_2.12-3.5.6.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-common-utils_2.12-3.5.6.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-connect-client-jvm_2.12-3.5.6.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-core_2.12-3.5.6.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-graphx_2.12-3.5.6.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-hive-thriftserver_2.12-3.5.6.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-hive_2.12-3.5.6.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-kvstore_2.12-3.5.6.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-launcher_2.12-3.5.6.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-mesos_2.12-3.5.6.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-mllib-local_2.12-3.5.6.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-network-common_2.12-3.5.6.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-network-shuffle_2.12-3.5.6.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-repl_2.12-3.5.6.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-sketch_2.12-3.5.6.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-sql-api_2.12-3.5.6.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-sql_2.12-3.5.6.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-tags_2.12-3.5.6.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-unsafe_2.12-3.5.6.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/jars/spark-yarn_2.12-3.5.6.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/_globals.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/_typing.pyi +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/accumulators.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/broadcast.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/cloudpickle/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/cloudpickle/cloudpickle.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/cloudpickle/cloudpickle_fast.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/cloudpickle/compat.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/conf.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/context.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/daemon.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/error_classes.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/exceptions/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/exceptions/base.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/exceptions/captured.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/exceptions/connect.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/errors/utils.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/files.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/find_spark_home.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/install.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/instrumentation_utils.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/java_gateway.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/join.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/_typing.pyi +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/base.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/classification.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/clustering.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/common.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/base.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/classification.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/evaluation.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/feature.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/functions.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/io_utils.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/pipeline.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/summarizer.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/tuning.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/connect/util.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/deepspeed/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/deepspeed/deepspeed_distributor.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/dl_util.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/evaluation.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/feature.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/fpm.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/functions.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/image.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/linalg/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/model_cache.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/param/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/param/_shared_params_code_gen.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/param/shared.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/pipeline.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/recommendation.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/regression.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/stat.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/torch/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/torch/data.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/torch/distributor.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/torch/log_communication.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/torch/torch_run_process_wrapper.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/tree.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/tuning.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/util.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/ml/wrapper.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/_typing.pyi +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/classification.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/clustering.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/common.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/evaluation.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/feature.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/fpm.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/linalg/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/linalg/distributed.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/random.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/recommendation.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/regression.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/stat/KernelDensity.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/stat/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/stat/_statistics.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/stat/distribution.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/stat/test.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/tree.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/mllib/util.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/_typing.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/accessors.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/base.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/categorical.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/config.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/correlation.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/base.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/binary_ops.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/boolean_ops.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/categorical_ops.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/complex_ops.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/date_ops.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/datetime_ops.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/null_ops.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/num_ops.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/string_ops.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/timedelta_ops.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/data_type_ops/udt_ops.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/datetimes.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/exceptions.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/extensions.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/frame.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/generic.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/groupby.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/base.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/category.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/datetimes.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/multi.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/numeric.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexes/timedelta.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/indexing.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/internal.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/common.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/frame.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/general_functions.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/groupby.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/indexes.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/resample.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/scalars.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/series.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/missing/window.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/mlflow.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/namespace.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/numpy_compat.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/plot/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/plot/core.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/plot/matplotlib.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/plot/plotly.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/resample.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/series.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/sql_formatter.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/sql_processor.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/strings.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/supported_api_gen.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/typedef/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/typedef/typehints.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/usage_logging/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/usage_logging/usage_logger.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/utils.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/pandas/window.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/profiler.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/py.typed +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/python/pyspark/shell.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/rdd.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/rddsampler.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/resource/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/resource/information.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/resource/profile.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/resource/requests.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/resultiterable.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/serializers.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/shell.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/shuffle.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/_typing.pyi +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/avro/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/avro/functions.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/catalog.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/column.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/conf.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/_typing.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/avro/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/avro/functions.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/catalog.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/client/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/client/artifact.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/client/core.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/client/reattach.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/column.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/conf.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/conversion.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/dataframe.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/expressions.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/functions.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/group.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/plan.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/base_pb2.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/base_pb2.pyi +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/base_pb2_grpc.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/catalog_pb2.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/catalog_pb2.pyi +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/commands_pb2.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/commands_pb2.pyi +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/common_pb2.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/common_pb2.pyi +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/example_plugins_pb2.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/example_plugins_pb2.pyi +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/expressions_pb2.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/expressions_pb2.pyi +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/relations_pb2.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/relations_pb2.pyi +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/types_pb2.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/proto/types_pb2.pyi +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/protobuf/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/protobuf/functions.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/readwriter.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/session.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/streaming/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/streaming/query.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/streaming/readwriter.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/streaming/worker/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/streaming/worker/foreach_batch_worker.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/streaming/worker/listener_worker.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/types.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/udf.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/udtf.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/utils.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/connect/window.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/context.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/dataframe.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/functions.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/group.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/observation.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/_typing/__init__.pyi +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/_typing/protocols/__init__.pyi +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/_typing/protocols/frame.pyi +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/_typing/protocols/series.pyi +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/conversion.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/functions.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/functions.pyi +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/group_ops.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/map_ops.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/serializers.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/typehints.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/types.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/pandas/utils.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/protobuf/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/protobuf/functions.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/readwriter.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/session.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/sql_formatter.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/streaming/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/streaming/listener.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/streaming/query.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/streaming/readwriter.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/streaming/state.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/types.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/udf.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/udtf.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/utils.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/sql/window.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/statcounter.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/status.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/storagelevel.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/streaming/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/streaming/context.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/streaming/dstream.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/streaming/kinesis.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/streaming/listener.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/streaming/util.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/taskcontext.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/connectutils.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/mllibutils.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/mlutils.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/objects.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/pandasutils.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/sqlutils.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/streamingutils.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/testing/utils.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/traceback_utils.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/util.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/version.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/worker.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/includes/python/pyspark/worker_util.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/proto/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/proto/control_pb2.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/proto/control_pb2.pyi +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/proto/control_pb2_grpc.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/proto/snowflake_expression_ext_pb2.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/proto/snowflake_expression_ext_pb2.pyi +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/proto/snowflake_rdd_pb2.pyi +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/proto/snowflake_relation_ext_pb2.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/proto/snowflake_relation_ext_pb2.pyi +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/catalogs/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_aggregate.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_crosstab.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_map_partitions.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_sample_by.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_show_string.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/map_subquery_alias.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/read/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/read/reader_config.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/read/utils.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/relation/write/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/resources/java_udfs-1.0-SNAPSHOT.jar +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/start_server.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/tcm.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/typed_column.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/artifacts.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/cache.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/concurrent.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/external_udxf_cache.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/interrupt.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/io_utils.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/snowpark_connect_logging.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/udxf_import_utils.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/utils/xxhash64.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_decoder/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_decoder/_internal/proto/generated/DataframeProcessorMsg_pb2.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_decoder/_internal/proto/generated/DataframeProcessorMsg_pb2.pyi +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_decoder/dp_session.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_decoder/spark_decoder.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowpark_connect.egg-info/dependency_links.txt +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowpark_connect.egg-info/top_level.txt +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/spark/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/spark/connect/__init__.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/spark/connect/envelope_pb2.py +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/spark/connect/envelope_pb2.pyi +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/tools/snowpark-connect +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/tools/snowpark-session +0 -0
- {snowpark_connect-0.30.0 → snowpark_connect-0.31.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: 0.31.0
|
|
4
4
|
Summary: Snowpark Connect for Spark
|
|
5
5
|
Author: Snowflake, Inc
|
|
6
6
|
License: Apache License, Version 2.0
|
|
@@ -16,7 +16,8 @@ Requires-Dist: jpype1
|
|
|
16
16
|
Requires-Dist: protobuf<5.0,>=4.25.3
|
|
17
17
|
Requires-Dist: s3fs>=2025.3.0
|
|
18
18
|
Requires-Dist: snowflake.core<2,>=1.0.5
|
|
19
|
-
Requires-Dist: snowflake-snowpark-python[pandas]<1.
|
|
19
|
+
Requires-Dist: snowflake-snowpark-python[pandas]<1.41.0,==1.40.0
|
|
20
|
+
Requires-Dist: snowflake-connector-python<4.0.0,>=3.18.0
|
|
20
21
|
Requires-Dist: sqlglot>=26.3.8
|
|
21
22
|
Requires-Dist: jaydebeapi
|
|
22
23
|
Requires-Dist: aiobotocore~=2.23.0
|
|
@@ -46,7 +46,8 @@ setup(
|
|
|
46
46
|
"protobuf>=4.25.3,<5.0",
|
|
47
47
|
"s3fs>=2025.3.0", # prod-297255-inc0132291
|
|
48
48
|
"snowflake.core>=1.0.5,<2",
|
|
49
|
-
"snowflake-snowpark-python[pandas]==1.
|
|
49
|
+
"snowflake-snowpark-python[pandas]==1.40.0,<1.41.0",
|
|
50
|
+
"snowflake-connector-python>=3.18.0,<4.0.0",
|
|
50
51
|
"sqlglot>=26.3.8",
|
|
51
52
|
"jaydebeapi",
|
|
52
53
|
"aiobotocore~=2.23.0",
|
|
@@ -20,7 +20,12 @@ from snowflake.snowpark._internal.analyzer.analyzer_utils import (
|
|
|
20
20
|
from snowflake.snowpark._internal.utils import quote_name
|
|
21
21
|
from snowflake.snowpark.types import StructType
|
|
22
22
|
from snowflake.snowpark_connect.config import global_config
|
|
23
|
-
from snowflake.snowpark_connect.
|
|
23
|
+
from snowflake.snowpark_connect.error.error_codes import ErrorCodes
|
|
24
|
+
from snowflake.snowpark_connect.error.error_utils import attach_custom_error_code
|
|
25
|
+
from snowflake.snowpark_connect.utils.context import (
|
|
26
|
+
get_current_operation_scope,
|
|
27
|
+
get_is_processing_order_by,
|
|
28
|
+
)
|
|
24
29
|
from snowflake.snowpark_connect.utils.identifiers import (
|
|
25
30
|
split_fully_qualified_spark_name,
|
|
26
31
|
)
|
|
@@ -142,7 +147,7 @@ class ColumnNameMap:
|
|
|
142
147
|
parent_column_name_map: parent ColumnNameMap
|
|
143
148
|
"""
|
|
144
149
|
self.columns: list[ColumnNames] = []
|
|
145
|
-
self.spark_to_col = defaultdict(list)
|
|
150
|
+
self.spark_to_col: defaultdict[str, list[ColumnNames]] = defaultdict(list)
|
|
146
151
|
self.uppercase_spark_to_col = defaultdict(list)
|
|
147
152
|
self.snowpark_to_col = defaultdict(list)
|
|
148
153
|
self.is_case_sensitive = is_case_sensitive
|
|
@@ -353,18 +358,100 @@ class ColumnNameMap:
|
|
|
353
358
|
|
|
354
359
|
snowpark_names_len = len(snowpark_names)
|
|
355
360
|
if snowpark_names_len > 1:
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
361
|
+
# Check if this is a case where we have identical expressions that can be safely resolved to the first one
|
|
362
|
+
# This commonly happens with GROUP BY expressions that also appear in SELECT clauses
|
|
363
|
+
if (
|
|
364
|
+
get_is_processing_order_by()
|
|
365
|
+
and self._can_resolve_ambiguous_identical_expressions(
|
|
366
|
+
resolved_name, snowpark_names
|
|
367
|
+
)
|
|
368
|
+
):
|
|
369
|
+
# All the ambiguous columns represent the same expression, so we can safely use the first one
|
|
370
|
+
return snowpark_names[0]
|
|
371
|
+
else:
|
|
372
|
+
exception = AnalysisException(
|
|
373
|
+
f"Ambiguous spark column name {spark_column_name}, potential snowpark column names {snowpark_names}"
|
|
374
|
+
)
|
|
375
|
+
attach_custom_error_code(exception, ErrorCodes.AMBIGUOUS_COLUMN_NAME)
|
|
376
|
+
raise exception
|
|
359
377
|
elif snowpark_names_len == 0:
|
|
360
378
|
if allow_non_exists:
|
|
361
379
|
return None
|
|
362
380
|
else:
|
|
363
|
-
|
|
381
|
+
exception = AnalysisException(
|
|
364
382
|
f"Spark column name {spark_column_name} does not exist"
|
|
365
383
|
)
|
|
384
|
+
attach_custom_error_code(exception, ErrorCodes.COLUMN_NOT_FOUND)
|
|
385
|
+
raise exception
|
|
366
386
|
return snowpark_names[0]
|
|
367
387
|
|
|
388
|
+
def _can_resolve_ambiguous_identical_expressions(
|
|
389
|
+
self, spark_column_name: str, snowpark_names: list[str]
|
|
390
|
+
) -> bool:
|
|
391
|
+
"""
|
|
392
|
+
Determine if ambiguous columns represent identical expressions that can be safely resolved to the first one.
|
|
393
|
+
|
|
394
|
+
This handles the common case where the same expression (like a UDF call) appears multiple times
|
|
395
|
+
in a SELECT clause within a GROUP BY query. Since they're the same expression operating on the
|
|
396
|
+
same grouped data, they will have identical values, so we can safely resolve to any of them.
|
|
397
|
+
|
|
398
|
+
Args:
|
|
399
|
+
spark_column_name: The Spark column name that has multiple mappings, make sure resolve this reforehand
|
|
400
|
+
snowpark_names: List of Snowpark column names that map to this Spark column name
|
|
401
|
+
|
|
402
|
+
Returns:
|
|
403
|
+
True if we can safely resolve to the first snowpark column, False otherwise
|
|
404
|
+
"""
|
|
405
|
+
if spark_column_name not in self.spark_to_col:
|
|
406
|
+
return False
|
|
407
|
+
|
|
408
|
+
columns = self.spark_to_col[spark_column_name]
|
|
409
|
+
|
|
410
|
+
# If we don't have multiple columns, there's no ambiguity to resolve
|
|
411
|
+
if len(columns) <= 1:
|
|
412
|
+
return False
|
|
413
|
+
|
|
414
|
+
# Check if all the snowpark names correspond to columns that have identical underlying expressions
|
|
415
|
+
# We'll compare the actual column objects to see if they represent the same computation
|
|
416
|
+
first_column = columns[0]
|
|
417
|
+
|
|
418
|
+
for column in columns[1:]:
|
|
419
|
+
# Check snowpark_type attribute
|
|
420
|
+
# If one has the attribute but the other doesn't, they're different
|
|
421
|
+
if hasattr(first_column, "snowpark_type") != hasattr(
|
|
422
|
+
column, "snowpark_type"
|
|
423
|
+
):
|
|
424
|
+
return False
|
|
425
|
+
# If both have the attribute and values differ, they're different expressions
|
|
426
|
+
if (
|
|
427
|
+
hasattr(first_column, "snowpark_type")
|
|
428
|
+
and hasattr(column, "snowpark_type")
|
|
429
|
+
and first_column.snowpark_type != column.snowpark_type
|
|
430
|
+
):
|
|
431
|
+
return False
|
|
432
|
+
|
|
433
|
+
# Check qualifiers attribute
|
|
434
|
+
# If one has the attribute but the other doesn't, they're different
|
|
435
|
+
if hasattr(first_column, "qualifiers") != hasattr(column, "qualifiers"):
|
|
436
|
+
return False
|
|
437
|
+
# If both have the attribute and values differ, they might be from different contexts
|
|
438
|
+
if (
|
|
439
|
+
hasattr(first_column, "qualifiers")
|
|
440
|
+
and hasattr(column, "qualifiers")
|
|
441
|
+
and first_column.qualifiers != column.qualifiers
|
|
442
|
+
):
|
|
443
|
+
return False
|
|
444
|
+
|
|
445
|
+
# Additional safety check: ensure all snowpark names are actually in our mapping
|
|
446
|
+
for snowpark_name in snowpark_names:
|
|
447
|
+
if snowpark_name not in self.snowpark_to_col:
|
|
448
|
+
return False
|
|
449
|
+
|
|
450
|
+
# If we reach here, the columns appear to be identical expressions from the same context
|
|
451
|
+
# This commonly happens in GROUP BY scenarios where the same expression appears in both
|
|
452
|
+
# the grouping clause and the select clause
|
|
453
|
+
return True
|
|
454
|
+
|
|
368
455
|
def get_spark_column_names_from_snowpark_column_names(
|
|
369
456
|
self,
|
|
370
457
|
snowpark_column_names: list[str],
|
|
@@ -390,16 +477,20 @@ class ColumnNameMap:
|
|
|
390
477
|
)
|
|
391
478
|
spark_names_len = len(spark_names)
|
|
392
479
|
if spark_names_len > 1:
|
|
393
|
-
|
|
480
|
+
exception = AnalysisException(
|
|
394
481
|
f"Ambiguous snowpark column name {snowpark_column_name}, potential spark column names {spark_names}"
|
|
395
482
|
)
|
|
483
|
+
attach_custom_error_code(exception, ErrorCodes.AMBIGUOUS_COLUMN_NAME)
|
|
484
|
+
raise exception
|
|
396
485
|
elif spark_names_len == 0:
|
|
397
486
|
if allow_non_exists:
|
|
398
487
|
return None
|
|
399
488
|
else:
|
|
400
|
-
|
|
489
|
+
exception = AnalysisException(
|
|
401
490
|
f"Snowpark column name {snowpark_column_name} does not exist"
|
|
402
491
|
)
|
|
492
|
+
attach_custom_error_code(exception, ErrorCodes.COLUMN_NOT_FOUND)
|
|
493
|
+
raise exception
|
|
403
494
|
return spark_names[0]
|
|
404
495
|
|
|
405
496
|
def get_spark_column_name(self, idx: int) -> str:
|
|
@@ -604,14 +695,18 @@ class JoinColumnNameMap(ColumnNameMap):
|
|
|
604
695
|
if allow_non_exists:
|
|
605
696
|
return None
|
|
606
697
|
else:
|
|
607
|
-
|
|
698
|
+
exception = AnalysisException(
|
|
608
699
|
f"Spark column name {spark_column_name} does not exist in either left or right DataFrame"
|
|
609
700
|
)
|
|
701
|
+
attach_custom_error_code(exception, ErrorCodes.COLUMN_NOT_FOUND)
|
|
702
|
+
raise exception
|
|
610
703
|
|
|
611
704
|
if (snowpark_column_name_in_right is not None) and (
|
|
612
705
|
snowpark_column_name_in_left is not None
|
|
613
706
|
):
|
|
614
|
-
|
|
707
|
+
exception = AnalysisException(f"Ambiguous column name {spark_column_name}")
|
|
708
|
+
attach_custom_error_code(exception, ErrorCodes.AMBIGUOUS_COLUMN_NAME)
|
|
709
|
+
raise exception
|
|
615
710
|
|
|
616
711
|
snowpark_name = (
|
|
617
712
|
snowpark_column_name_in_right
|
|
@@ -637,57 +732,85 @@ class JoinColumnNameMap(ColumnNameMap):
|
|
|
637
732
|
def get_snowpark_column_names_from_spark_column_names(
|
|
638
733
|
self, spark_column_names: list[str], return_first: bool = False
|
|
639
734
|
) -> list[str]:
|
|
640
|
-
|
|
735
|
+
exception = NotImplementedError("Method not implemented!")
|
|
736
|
+
attach_custom_error_code(exception, ErrorCodes.INTERNAL_ERROR)
|
|
737
|
+
raise exception
|
|
641
738
|
|
|
642
739
|
def get_spark_column_names_from_snowpark_column_names(
|
|
643
740
|
self,
|
|
644
741
|
snowpark_column_names: list[str],
|
|
645
742
|
) -> list[str]:
|
|
646
|
-
|
|
743
|
+
exception = NotImplementedError("Method not implemented!")
|
|
744
|
+
attach_custom_error_code(exception, ErrorCodes.INTERNAL_ERROR)
|
|
745
|
+
raise exception
|
|
647
746
|
|
|
648
747
|
def get_spark_column_name_from_snowpark_column_name(
|
|
649
748
|
self, snowpark_column_name: str
|
|
650
749
|
) -> str:
|
|
651
|
-
|
|
750
|
+
exception = NotImplementedError("Method not implemented!")
|
|
751
|
+
attach_custom_error_code(exception, ErrorCodes.INTERNAL_ERROR)
|
|
752
|
+
raise exception
|
|
652
753
|
|
|
653
754
|
def get_spark_columns(self) -> list[str]:
|
|
654
|
-
|
|
755
|
+
exception = NotImplementedError("Method not implemented!")
|
|
756
|
+
attach_custom_error_code(exception, ErrorCodes.INTERNAL_ERROR)
|
|
757
|
+
raise exception
|
|
655
758
|
|
|
656
759
|
def get_snowpark_columns(self) -> list[str]:
|
|
657
|
-
|
|
760
|
+
exception = NotImplementedError("Method not implemented!")
|
|
761
|
+
attach_custom_error_code(exception, ErrorCodes.INTERNAL_ERROR)
|
|
762
|
+
raise exception
|
|
658
763
|
|
|
659
764
|
def get_snowpark_columns_after_drop(self, cols_to_drop: list[str]) -> list[str]:
|
|
660
|
-
|
|
765
|
+
exception = NotImplementedError("Method not implemented!")
|
|
766
|
+
attach_custom_error_code(exception, ErrorCodes.INTERNAL_ERROR)
|
|
767
|
+
raise exception
|
|
661
768
|
|
|
662
769
|
def get_renamed_nested_column_name(self, name) -> str | None:
|
|
663
|
-
|
|
770
|
+
exception = NotImplementedError("Method not implemented!")
|
|
771
|
+
attach_custom_error_code(exception, ErrorCodes.INTERNAL_ERROR)
|
|
772
|
+
raise exception
|
|
664
773
|
|
|
665
774
|
def has_spark_column(self, spark_column_name: str) -> bool:
|
|
666
|
-
|
|
775
|
+
exception = NotImplementedError("Method not implemented!")
|
|
776
|
+
attach_custom_error_code(exception, ErrorCodes.INTERNAL_ERROR)
|
|
777
|
+
raise exception
|
|
667
778
|
|
|
668
779
|
def snowpark_to_spark_map(self) -> dict[str, str]:
|
|
669
|
-
|
|
780
|
+
exception = NotImplementedError("Method not implemented!")
|
|
781
|
+
attach_custom_error_code(exception, ErrorCodes.INTERNAL_ERROR)
|
|
782
|
+
raise exception
|
|
670
783
|
|
|
671
784
|
def spark_to_snowpark_for_pattern(self, pattern: str) -> list[tuple[str, str]]:
|
|
672
|
-
|
|
785
|
+
exception = NotImplementedError("Method not implemented!")
|
|
786
|
+
attach_custom_error_code(exception, ErrorCodes.INTERNAL_ERROR)
|
|
787
|
+
raise exception
|
|
673
788
|
|
|
674
789
|
def with_columns(
|
|
675
790
|
self, new_spark_columns: list[str], new_snowpark_columns: list[str]
|
|
676
791
|
) -> tuple[list[str], list[str], list[list[str]]]:
|
|
677
|
-
|
|
792
|
+
exception = NotImplementedError("Method not implemented!")
|
|
793
|
+
attach_custom_error_code(exception, ErrorCodes.INTERNAL_ERROR)
|
|
794
|
+
raise exception
|
|
678
795
|
|
|
679
796
|
def get_qualifiers(self) -> list[list[str]]:
|
|
680
|
-
|
|
797
|
+
exception = NotImplementedError("Method not implemented!")
|
|
798
|
+
attach_custom_error_code(exception, ErrorCodes.INTERNAL_ERROR)
|
|
799
|
+
raise exception
|
|
681
800
|
|
|
682
801
|
def get_qualifiers_for_columns_after_drop(
|
|
683
802
|
self, cols_to_drop: list[str]
|
|
684
803
|
) -> list[list[str]]:
|
|
685
|
-
|
|
804
|
+
exception = NotImplementedError("Method not implemented!")
|
|
805
|
+
attach_custom_error_code(exception, ErrorCodes.INTERNAL_ERROR)
|
|
806
|
+
raise exception
|
|
686
807
|
|
|
687
808
|
def get_spark_and_snowpark_columns_with_qualifier_for_qualifier(
|
|
688
809
|
self, qualifiers_input: list[str]
|
|
689
810
|
) -> tuple[list[str], list[str], list[list[str]]]:
|
|
690
|
-
|
|
811
|
+
exception = NotImplementedError("Method not implemented!")
|
|
812
|
+
attach_custom_error_code(exception, ErrorCodes.INTERNAL_ERROR)
|
|
813
|
+
raise exception
|
|
691
814
|
|
|
692
815
|
def get_qualifier_for_spark_column(self, spark_column_name: str) -> list[str]:
|
|
693
816
|
|
|
@@ -699,6 +822,8 @@ class JoinColumnNameMap(ColumnNameMap):
|
|
|
699
822
|
)
|
|
700
823
|
|
|
701
824
|
if (len(qualifier_left) > 0) and (len(qualifier_right) > 0):
|
|
702
|
-
|
|
825
|
+
exception = AnalysisException(f"Ambiguous column name {spark_column_name}")
|
|
826
|
+
attach_custom_error_code(exception, ErrorCodes.AMBIGUOUS_COLUMN_NAME)
|
|
827
|
+
raise exception
|
|
703
828
|
|
|
704
829
|
return qualifier_right if len(qualifier_left) == 0 else qualifier_left
|
{snowpark_connect-0.30.0 → snowpark_connect-0.31.0}/src/snowflake/snowpark_connect/config.py
RENAMED
|
@@ -21,8 +21,13 @@ from snowflake.snowpark._internal.analyzer.analyzer_utils import (
|
|
|
21
21
|
)
|
|
22
22
|
from snowflake.snowpark.exceptions import SnowparkSQLException
|
|
23
23
|
from snowflake.snowpark.types import TimestampTimeZone, TimestampType
|
|
24
|
+
from snowflake.snowpark_connect.error.error_codes import ErrorCodes
|
|
25
|
+
from snowflake.snowpark_connect.error.error_utils import attach_custom_error_code
|
|
24
26
|
from snowflake.snowpark_connect.utils.concurrent import SynchronizedDict
|
|
25
|
-
from snowflake.snowpark_connect.utils.context import
|
|
27
|
+
from snowflake.snowpark_connect.utils.context import (
|
|
28
|
+
get_jpype_jclass_lock,
|
|
29
|
+
get_session_id,
|
|
30
|
+
)
|
|
26
31
|
from snowflake.snowpark_connect.utils.external_udxf_cache import (
|
|
27
32
|
clear_external_udxf_cache,
|
|
28
33
|
)
|
|
@@ -143,6 +148,9 @@ class GlobalConfig:
|
|
|
143
148
|
# Control whether repartition(n) on a DataFrame forces splitting into n files during writes
|
|
144
149
|
# This matches spark behavior more closely, but introduces overhead.
|
|
145
150
|
"snowflake.repartition.for.writes": "false",
|
|
151
|
+
"snowpark.connect.structured_types.fix": str(
|
|
152
|
+
snowpark.context._enable_fix_2360274
|
|
153
|
+
).lower(),
|
|
146
154
|
}
|
|
147
155
|
|
|
148
156
|
boolean_config_list = [
|
|
@@ -288,7 +296,6 @@ class SessionConfig:
|
|
|
288
296
|
"""This class contains the session configuration for the Spark Server."""
|
|
289
297
|
|
|
290
298
|
default_session_config = {
|
|
291
|
-
"snowpark.connect.sql.identifiers.auto-uppercase": "all_except_columns",
|
|
292
299
|
"snowpark.connect.sql.passthrough": "false",
|
|
293
300
|
"snowpark.connect.cte.optimization_enabled": "false",
|
|
294
301
|
"snowpark.connect.udtf.compatibility_mode": "false",
|
|
@@ -356,9 +363,11 @@ def route_config_proto(
|
|
|
356
363
|
if not pair.HasField("value"):
|
|
357
364
|
from pyspark.errors import IllegalArgumentException
|
|
358
365
|
|
|
359
|
-
|
|
366
|
+
exception = IllegalArgumentException(
|
|
360
367
|
f"Cannot set config '{pair.key}' to None"
|
|
361
368
|
)
|
|
369
|
+
attach_custom_error_code(exception, ErrorCodes.INVALID_CONFIG_VALUE)
|
|
370
|
+
raise exception
|
|
362
371
|
|
|
363
372
|
set_config_param(
|
|
364
373
|
config.session_id, pair.key, pair.value, snowpark_session
|
|
@@ -441,7 +450,11 @@ def route_config_proto(
|
|
|
441
450
|
pair.value = str(global_config.is_modifiable(key)).lower()
|
|
442
451
|
return res
|
|
443
452
|
case _:
|
|
444
|
-
|
|
453
|
+
exception = SnowparkConnectNotImplementedError(
|
|
454
|
+
f"Unexpected request {config}"
|
|
455
|
+
)
|
|
456
|
+
attach_custom_error_code(exception, ErrorCodes.UNSUPPORTED_OPERATION)
|
|
457
|
+
raise exception
|
|
445
458
|
|
|
446
459
|
|
|
447
460
|
def set_config_param(
|
|
@@ -481,19 +494,27 @@ def _verify_static_config_not_modified(key: str) -> None:
|
|
|
481
494
|
# https://github.com/apache/spark/blob/v3.5.3/sql/core/src/main/scala/org/apache/spark/sql/RuntimeConfig.scala#L161
|
|
482
495
|
# Spark does not allow to modify static configurations at runtime.
|
|
483
496
|
if global_config.is_static_config(key) and global_config.is_set(key):
|
|
484
|
-
|
|
497
|
+
exception = ValueError(f"Cannot modify the value of a static config: {key}")
|
|
498
|
+
attach_custom_error_code(exception, ErrorCodes.CONFIG_CHANGE_NOT_ALLOWED)
|
|
499
|
+
raise exception
|
|
485
500
|
|
|
486
501
|
|
|
487
502
|
def _verify_is_valid_config_value(key: str, value: Any) -> None:
|
|
488
503
|
if key in CONFIG_ALLOWED_VALUES and value not in CONFIG_ALLOWED_VALUES[key]:
|
|
489
|
-
|
|
504
|
+
exception = ValueError(
|
|
490
505
|
f"Invalid value '{value}' for key '{key}'. Allowed values: {', '.join(CONFIG_ALLOWED_VALUES[key])}."
|
|
491
506
|
)
|
|
507
|
+
attach_custom_error_code(exception, ErrorCodes.INVALID_CONFIG_VALUE)
|
|
508
|
+
raise exception
|
|
492
509
|
|
|
493
510
|
|
|
494
511
|
def _verify_is_not_readonly_config(key):
|
|
495
512
|
if key in global_config.readonly_config_list:
|
|
496
|
-
|
|
513
|
+
exception = ValueError(
|
|
514
|
+
f"Config with key {key} is read-only and cannot be modified."
|
|
515
|
+
)
|
|
516
|
+
attach_custom_error_code(exception, ErrorCodes.CONFIG_CHANGE_NOT_ALLOWED)
|
|
517
|
+
raise exception
|
|
497
518
|
|
|
498
519
|
|
|
499
520
|
def set_jvm_timezone(timezone_id: str):
|
|
@@ -510,10 +531,13 @@ def set_jvm_timezone(timezone_id: str):
|
|
|
510
531
|
RuntimeError: If JVM is not started
|
|
511
532
|
"""
|
|
512
533
|
if not jpype.isJVMStarted():
|
|
513
|
-
|
|
534
|
+
exception = RuntimeError("JVM must be started before setting timezone")
|
|
535
|
+
attach_custom_error_code(exception, ErrorCodes.INTERNAL_ERROR)
|
|
536
|
+
raise exception
|
|
514
537
|
|
|
515
538
|
try:
|
|
516
|
-
|
|
539
|
+
with get_jpype_jclass_lock():
|
|
540
|
+
TimeZone = jpype.JClass("java.util.TimeZone")
|
|
517
541
|
new_timezone = TimeZone.getTimeZone(timezone_id)
|
|
518
542
|
TimeZone.setDefault(new_timezone)
|
|
519
543
|
|
|
@@ -525,7 +549,9 @@ def set_jvm_timezone(timezone_id: str):
|
|
|
525
549
|
def reset_jvm_timezone_to_system_default():
|
|
526
550
|
"""Reset JVM timezone to the system's default timezone"""
|
|
527
551
|
if not jpype.isJVMStarted():
|
|
528
|
-
|
|
552
|
+
exception = RuntimeError("JVM must be started first")
|
|
553
|
+
attach_custom_error_code(exception, ErrorCodes.INTERNAL_ERROR)
|
|
554
|
+
raise exception
|
|
529
555
|
|
|
530
556
|
try:
|
|
531
557
|
TimeZone = jpype.JClass("java.util.TimeZone")
|
|
@@ -534,9 +560,13 @@ def reset_jvm_timezone_to_system_default():
|
|
|
534
560
|
f"Reset JVM timezone to system default: {TimeZone.getDefault().getID()}"
|
|
535
561
|
)
|
|
536
562
|
except jpype.JException as e:
|
|
537
|
-
|
|
563
|
+
exception = RuntimeError(f"Java exception while resetting timezone: {e}")
|
|
564
|
+
attach_custom_error_code(exception, ErrorCodes.INTERNAL_ERROR)
|
|
565
|
+
raise exception
|
|
538
566
|
except Exception as e:
|
|
539
|
-
|
|
567
|
+
exception = RuntimeError(f"Unexpected error resetting JVM timezone: {e}")
|
|
568
|
+
attach_custom_error_code(exception, ErrorCodes.INTERNAL_ERROR)
|
|
569
|
+
raise exception
|
|
540
570
|
|
|
541
571
|
|
|
542
572
|
def set_snowflake_parameters(
|
|
@@ -626,16 +656,24 @@ def get_describe_cache_ttl_seconds() -> int:
|
|
|
626
656
|
|
|
627
657
|
def auto_uppercase_column_identifiers() -> bool:
|
|
628
658
|
session_config = sessions_config[get_session_id()]
|
|
629
|
-
|
|
659
|
+
auto_upper_case_config = session_config[
|
|
630
660
|
"snowpark.connect.sql.identifiers.auto-uppercase"
|
|
631
|
-
]
|
|
661
|
+
]
|
|
662
|
+
if auto_upper_case_config:
|
|
663
|
+
return auto_upper_case_config.lower() in ("all", "only_columns")
|
|
664
|
+
|
|
665
|
+
return not global_config.spark_sql_caseSensitive
|
|
632
666
|
|
|
633
667
|
|
|
634
668
|
def auto_uppercase_non_column_identifiers() -> bool:
|
|
635
669
|
session_config = sessions_config[get_session_id()]
|
|
636
|
-
|
|
670
|
+
auto_upper_case_config = session_config[
|
|
637
671
|
"snowpark.connect.sql.identifiers.auto-uppercase"
|
|
638
|
-
]
|
|
672
|
+
]
|
|
673
|
+
if auto_upper_case_config:
|
|
674
|
+
return auto_upper_case_config.lower() in ("all", "all_except_columns")
|
|
675
|
+
|
|
676
|
+
return not global_config.spark_sql_caseSensitive
|
|
639
677
|
|
|
640
678
|
|
|
641
679
|
def parse_imports(session: snowpark.Session, imports: str | None) -> None:
|
|
@@ -24,6 +24,8 @@
|
|
|
24
24
|
from pyspark.errors.exceptions.base import DateTimeException
|
|
25
25
|
|
|
26
26
|
from snowflake.snowpark.types import DataType, StringType
|
|
27
|
+
from snowflake.snowpark_connect.error.error_codes import ErrorCodes
|
|
28
|
+
from snowflake.snowpark_connect.error.error_utils import attach_custom_error_code
|
|
27
29
|
|
|
28
30
|
|
|
29
31
|
# TODO: There are more patterns where spark may throw an error.
|
|
@@ -229,9 +231,11 @@ def convert_spark_format_to_snowflake(
|
|
|
229
231
|
timestamp_input_type: DataType | None = None,
|
|
230
232
|
):
|
|
231
233
|
if spark_format in {"Y", "w", "W"}:
|
|
232
|
-
|
|
234
|
+
exception = DateTimeException(
|
|
233
235
|
f"Fail to recognize '{spark_format}' pattern in the DateTimeFormatter."
|
|
234
236
|
)
|
|
237
|
+
attach_custom_error_code(exception, ErrorCodes.INVALID_FUNCTION_ARGUMENT)
|
|
238
|
+
raise exception
|
|
235
239
|
snowflake_format = ""
|
|
236
240
|
i = 0
|
|
237
241
|
n = len(spark_format)
|
|
@@ -299,28 +303,46 @@ def convert_spark_format_to_snowflake(
|
|
|
299
303
|
# Spark's 'a' would be at most 1 times
|
|
300
304
|
is_valid_a_pattern = spark_format[i : i + 2] != char * 2
|
|
301
305
|
if not is_valid_a_pattern:
|
|
302
|
-
|
|
306
|
+
exception = DateTimeException(
|
|
303
307
|
f"Fail to recognize '{spark_format}' pattern in the DateTimeFormatter"
|
|
304
308
|
)
|
|
309
|
+
attach_custom_error_code(
|
|
310
|
+
exception, ErrorCodes.INVALID_FUNCTION_ARGUMENT
|
|
311
|
+
)
|
|
312
|
+
raise exception
|
|
305
313
|
case "h" | "K" | "k" | "H" | "m" | "s" | "d":
|
|
306
314
|
# Spark's characters would be at most 2 times
|
|
307
315
|
is_valid_2_patterns = spark_format[i : i + 3] != char * 3
|
|
308
316
|
if not is_valid_2_patterns:
|
|
309
|
-
|
|
317
|
+
exception = DateTimeException(
|
|
310
318
|
f"Fail to recognize '{spark_format}' pattern in the DateTimeFormatter"
|
|
311
319
|
)
|
|
320
|
+
attach_custom_error_code(
|
|
321
|
+
exception, ErrorCodes.INVALID_FUNCTION_ARGUMENT
|
|
322
|
+
)
|
|
323
|
+
raise exception
|
|
312
324
|
case "D":
|
|
313
325
|
# Spark's 'D'' would be at most 3 times
|
|
314
326
|
is_valid_D_patterns = spark_format[i : i + 4] != char * 4
|
|
315
327
|
if not is_valid_D_patterns:
|
|
316
|
-
|
|
328
|
+
exception = DateTimeException(
|
|
317
329
|
f"Fail to recognize '{spark_format}' pattern in the DateTimeFormatter"
|
|
318
330
|
)
|
|
331
|
+
attach_custom_error_code(
|
|
332
|
+
exception, ErrorCodes.INVALID_FUNCTION_ARGUMENT
|
|
333
|
+
)
|
|
334
|
+
raise exception
|
|
319
335
|
case "V":
|
|
320
336
|
# Spark's 'V' for Zone ID requires 'VV'. A single 'V' is invalid.
|
|
321
337
|
is_valid_vv_pattern = spark_format[i : i + 2] == "VV"
|
|
322
338
|
if not is_valid_vv_pattern:
|
|
323
|
-
|
|
339
|
+
exception = DateTimeException(
|
|
340
|
+
"Pattern letter count must be 2: V"
|
|
341
|
+
)
|
|
342
|
+
attach_custom_error_code(
|
|
343
|
+
exception, ErrorCodes.INVALID_FUNCTION_ARGUMENT
|
|
344
|
+
)
|
|
345
|
+
raise exception
|
|
324
346
|
case "O":
|
|
325
347
|
# Spark's 'O' would be either 1 or 4.
|
|
326
348
|
is_valid_o_or_oooo_pattern = spark_format[i : i + 2] != "OO" or (
|
|
@@ -328,28 +350,52 @@ def convert_spark_format_to_snowflake(
|
|
|
328
350
|
and spark_format[i : i + 5] != "OOOOO"
|
|
329
351
|
)
|
|
330
352
|
if not is_valid_o_or_oooo_pattern:
|
|
331
|
-
|
|
353
|
+
exception = DateTimeException(
|
|
332
354
|
"Pattern letter count must be 1 or 4: O"
|
|
333
355
|
)
|
|
356
|
+
attach_custom_error_code(
|
|
357
|
+
exception, ErrorCodes.INVALID_FUNCTION_ARGUMENT
|
|
358
|
+
)
|
|
359
|
+
raise exception
|
|
334
360
|
case "q" | "Q" | "z" | "E":
|
|
335
361
|
# Spark's characters would be at most 4 times
|
|
336
362
|
is_valid_4_patterns = spark_format[i : i + 5] != char * 5
|
|
337
363
|
if not is_valid_4_patterns:
|
|
338
|
-
|
|
364
|
+
exception = DateTimeException(
|
|
365
|
+
f"Too many pattern letters: {char}"
|
|
366
|
+
)
|
|
367
|
+
attach_custom_error_code(
|
|
368
|
+
exception, ErrorCodes.INVALID_FUNCTION_ARGUMENT
|
|
369
|
+
)
|
|
370
|
+
raise exception
|
|
339
371
|
case "x" | "X" | "Z":
|
|
340
372
|
# Spark's 'x' or 'X' or 'z' or 'Z' would be at most 5 times
|
|
341
373
|
is_valid_xz_pattern = spark_format[i : i + 6] != char * 6
|
|
342
374
|
if not is_valid_xz_pattern:
|
|
343
|
-
|
|
375
|
+
exception = DateTimeException(
|
|
376
|
+
f"Too many pattern letters: {char}"
|
|
377
|
+
)
|
|
378
|
+
attach_custom_error_code(
|
|
379
|
+
exception, ErrorCodes.INVALID_FUNCTION_ARGUMENT
|
|
380
|
+
)
|
|
381
|
+
raise exception
|
|
344
382
|
case "y":
|
|
345
383
|
# Spark's 'y' would be at most 6 times
|
|
346
384
|
is_valid_y_pattern = spark_format[i : i + 7] != char * 7
|
|
347
385
|
if not is_valid_y_pattern:
|
|
348
|
-
|
|
386
|
+
exception = DateTimeException(
|
|
349
387
|
f"Fail to recognize '{spark_format}' pattern in the DateTimeFormatter"
|
|
350
388
|
)
|
|
389
|
+
attach_custom_error_code(
|
|
390
|
+
exception, ErrorCodes.INVALID_FUNCTION_ARGUMENT
|
|
391
|
+
)
|
|
392
|
+
raise exception
|
|
351
393
|
case "C" | "I":
|
|
352
|
-
|
|
394
|
+
exception = DateTimeException(f"Unknown pattern letter: {char}")
|
|
395
|
+
attach_custom_error_code(
|
|
396
|
+
exception, ErrorCodes.INVALID_FUNCTION_ARGUMENT
|
|
397
|
+
)
|
|
398
|
+
raise exception
|
|
353
399
|
|
|
354
400
|
if (
|
|
355
401
|
spark_format[i : i + 5] in {"M" * 5, "L" * 5}
|
|
@@ -362,9 +408,13 @@ def convert_spark_format_to_snowflake(
|
|
|
362
408
|
or spark_format[i : i + 3] in {"kkk", "KKK"}
|
|
363
409
|
or spark_format[i : i + 10] == "SSSSSSSSSS"
|
|
364
410
|
):
|
|
365
|
-
|
|
411
|
+
exception = DateTimeException(
|
|
366
412
|
f"Fail to recognize '{spark_format}' pattern in the DateTimeFormatter."
|
|
367
413
|
)
|
|
414
|
+
attach_custom_error_code(
|
|
415
|
+
exception, ErrorCodes.INVALID_FUNCTION_ARGUMENT
|
|
416
|
+
)
|
|
417
|
+
raise exception
|
|
368
418
|
|
|
369
419
|
matched_pattern = False
|
|
370
420
|
|
|
@@ -375,7 +425,11 @@ def convert_spark_format_to_snowflake(
|
|
|
375
425
|
spark_key
|
|
376
426
|
]
|
|
377
427
|
if isinstance(snowflake_equivalent, _UnsupportedSparkFormatPattern):
|
|
378
|
-
|
|
428
|
+
exception = DateTimeException(snowflake_equivalent.message)
|
|
429
|
+
attach_custom_error_code(
|
|
430
|
+
exception, ErrorCodes.UNSUPPORTED_OPERATION
|
|
431
|
+
)
|
|
432
|
+
raise exception
|
|
379
433
|
if snowflake_equivalent is not None:
|
|
380
434
|
snowflake_format += snowflake_equivalent
|
|
381
435
|
i += len(spark_key)
|
|
@@ -389,7 +443,11 @@ def convert_spark_format_to_snowflake(
|
|
|
389
443
|
isinstance(timestamp_input_type, StringType)
|
|
390
444
|
and char not in snowflake_time_format_separator
|
|
391
445
|
):
|
|
392
|
-
|
|
446
|
+
exception = DateTimeException(f"Illegal pattern character: {char}")
|
|
447
|
+
attach_custom_error_code(
|
|
448
|
+
exception, ErrorCodes.INVALID_FUNCTION_ARGUMENT
|
|
449
|
+
)
|
|
450
|
+
raise exception
|
|
393
451
|
|
|
394
452
|
snowflake_format += f'"{char}"'
|
|
395
453
|
i += 1
|