snowpark-connect 0.23.0__py3-none-any.whl → 0.25.0__py3-none-any.whl
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.
- snowflake/snowpark_connect/column_name_handler.py +116 -4
- snowflake/snowpark_connect/config.py +13 -0
- snowflake/snowpark_connect/constants.py +0 -29
- snowflake/snowpark_connect/dataframe_container.py +6 -0
- snowflake/snowpark_connect/execute_plan/map_execution_command.py +56 -1
- snowflake/snowpark_connect/expression/function_defaults.py +207 -0
- snowflake/snowpark_connect/expression/literal.py +18 -2
- snowflake/snowpark_connect/expression/map_cast.py +5 -8
- snowflake/snowpark_connect/expression/map_expression.py +10 -1
- snowflake/snowpark_connect/expression/map_extension.py +12 -2
- snowflake/snowpark_connect/expression/map_sql_expression.py +23 -1
- snowflake/snowpark_connect/expression/map_udf.py +26 -8
- snowflake/snowpark_connect/expression/map_unresolved_attribute.py +199 -15
- snowflake/snowpark_connect/expression/map_unresolved_extract_value.py +44 -16
- snowflake/snowpark_connect/expression/map_unresolved_function.py +836 -365
- snowflake/snowpark_connect/expression/map_unresolved_star.py +3 -2
- snowflake/snowpark_connect/hidden_column.py +39 -0
- snowflake/snowpark_connect/includes/jars/hadoop-client-api-trimmed-3.3.4.jar +0 -0
- snowflake/snowpark_connect/includes/jars/{hadoop-client-api-3.3.4.jar → spark-connect-client-jvm_2.12-3.5.6.jar} +0 -0
- snowflake/snowpark_connect/relation/map_column_ops.py +18 -36
- snowflake/snowpark_connect/relation/map_extension.py +56 -15
- snowflake/snowpark_connect/relation/map_join.py +258 -62
- snowflake/snowpark_connect/relation/map_row_ops.py +2 -29
- snowflake/snowpark_connect/relation/map_sql.py +88 -11
- snowflake/snowpark_connect/relation/map_udtf.py +4 -2
- snowflake/snowpark_connect/relation/read/map_read.py +3 -3
- snowflake/snowpark_connect/relation/read/map_read_jdbc.py +1 -1
- snowflake/snowpark_connect/relation/read/map_read_json.py +8 -1
- snowflake/snowpark_connect/relation/read/map_read_table.py +1 -9
- snowflake/snowpark_connect/relation/read/reader_config.py +3 -1
- snowflake/snowpark_connect/relation/read/utils.py +6 -7
- snowflake/snowpark_connect/relation/utils.py +1 -170
- snowflake/snowpark_connect/relation/write/map_write.py +62 -53
- snowflake/snowpark_connect/resources_initializer.py +29 -1
- snowflake/snowpark_connect/server.py +18 -3
- snowflake/snowpark_connect/type_mapping.py +29 -25
- snowflake/snowpark_connect/typed_column.py +14 -0
- snowflake/snowpark_connect/utils/artifacts.py +23 -0
- snowflake/snowpark_connect/utils/context.py +6 -1
- snowflake/snowpark_connect/utils/scala_udf_utils.py +588 -0
- snowflake/snowpark_connect/utils/telemetry.py +6 -17
- snowflake/snowpark_connect/utils/udf_helper.py +2 -0
- snowflake/snowpark_connect/utils/udf_utils.py +38 -7
- snowflake/snowpark_connect/utils/udtf_utils.py +17 -3
- snowflake/snowpark_connect/version.py +1 -1
- {snowpark_connect-0.23.0.dist-info → snowpark_connect-0.25.0.dist-info}/METADATA +1 -1
- snowpark_connect-0.25.0.dist-info/RECORD +477 -0
- snowflake/snowpark_connect/includes/jars/scala-compiler-2.12.18.jar +0 -0
- snowflake/snowpark_connect/includes/jars/spark-kubernetes_2.12-3.5.6.jar +0 -0
- snowflake/snowpark_connect/includes/jars/spark-mllib_2.12-3.5.6.jar +0 -0
- snowflake/snowpark_connect/includes/jars/spark-streaming_2.12-3.5.6.jar +0 -0
- snowflake/snowpark_connect/includes/python/pyspark/errors/tests/__init__.py +0 -16
- snowflake/snowpark_connect/includes/python/pyspark/errors/tests/test_errors.py +0 -60
- snowflake/snowpark_connect/includes/python/pyspark/ml/deepspeed/tests/test_deepspeed_distributor.py +0 -306
- snowflake/snowpark_connect/includes/python/pyspark/ml/tests/__init__.py +0 -16
- snowflake/snowpark_connect/includes/python/pyspark/ml/tests/connect/test_connect_classification.py +0 -53
- snowflake/snowpark_connect/includes/python/pyspark/ml/tests/connect/test_connect_evaluation.py +0 -50
- snowflake/snowpark_connect/includes/python/pyspark/ml/tests/connect/test_connect_feature.py +0 -43
- snowflake/snowpark_connect/includes/python/pyspark/ml/tests/connect/test_connect_function.py +0 -114
- snowflake/snowpark_connect/includes/python/pyspark/ml/tests/connect/test_connect_pipeline.py +0 -47
- snowflake/snowpark_connect/includes/python/pyspark/ml/tests/connect/test_connect_summarizer.py +0 -43
- snowflake/snowpark_connect/includes/python/pyspark/ml/tests/connect/test_connect_tuning.py +0 -46
- snowflake/snowpark_connect/includes/python/pyspark/ml/tests/connect/test_legacy_mode_classification.py +0 -238
- snowflake/snowpark_connect/includes/python/pyspark/ml/tests/connect/test_legacy_mode_evaluation.py +0 -194
- snowflake/snowpark_connect/includes/python/pyspark/ml/tests/connect/test_legacy_mode_feature.py +0 -156
- snowflake/snowpark_connect/includes/python/pyspark/ml/tests/connect/test_legacy_mode_pipeline.py +0 -184
- snowflake/snowpark_connect/includes/python/pyspark/ml/tests/connect/test_legacy_mode_summarizer.py +0 -78
- snowflake/snowpark_connect/includes/python/pyspark/ml/tests/connect/test_legacy_mode_tuning.py +0 -292
- snowflake/snowpark_connect/includes/python/pyspark/ml/tests/connect/test_parity_torch_data_loader.py +0 -50
- snowflake/snowpark_connect/includes/python/pyspark/ml/tests/connect/test_parity_torch_distributor.py +0 -152
- snowflake/snowpark_connect/includes/python/pyspark/ml/tests/test_algorithms.py +0 -456
- snowflake/snowpark_connect/includes/python/pyspark/ml/tests/test_base.py +0 -96
- snowflake/snowpark_connect/includes/python/pyspark/ml/tests/test_dl_util.py +0 -186
- snowflake/snowpark_connect/includes/python/pyspark/ml/tests/test_evaluation.py +0 -77
- snowflake/snowpark_connect/includes/python/pyspark/ml/tests/test_feature.py +0 -401
- snowflake/snowpark_connect/includes/python/pyspark/ml/tests/test_functions.py +0 -528
- snowflake/snowpark_connect/includes/python/pyspark/ml/tests/test_image.py +0 -82
- snowflake/snowpark_connect/includes/python/pyspark/ml/tests/test_linalg.py +0 -409
- snowflake/snowpark_connect/includes/python/pyspark/ml/tests/test_model_cache.py +0 -55
- snowflake/snowpark_connect/includes/python/pyspark/ml/tests/test_param.py +0 -441
- snowflake/snowpark_connect/includes/python/pyspark/ml/tests/test_persistence.py +0 -546
- snowflake/snowpark_connect/includes/python/pyspark/ml/tests/test_pipeline.py +0 -71
- snowflake/snowpark_connect/includes/python/pyspark/ml/tests/test_stat.py +0 -52
- snowflake/snowpark_connect/includes/python/pyspark/ml/tests/test_training_summary.py +0 -494
- snowflake/snowpark_connect/includes/python/pyspark/ml/tests/test_util.py +0 -85
- snowflake/snowpark_connect/includes/python/pyspark/ml/tests/test_wrapper.py +0 -138
- snowflake/snowpark_connect/includes/python/pyspark/ml/tests/tuning/__init__.py +0 -16
- snowflake/snowpark_connect/includes/python/pyspark/ml/tests/tuning/test_cv_io_basic.py +0 -151
- snowflake/snowpark_connect/includes/python/pyspark/ml/tests/tuning/test_cv_io_nested.py +0 -97
- snowflake/snowpark_connect/includes/python/pyspark/ml/tests/tuning/test_cv_io_pipeline.py +0 -143
- snowflake/snowpark_connect/includes/python/pyspark/ml/tests/tuning/test_tuning.py +0 -551
- snowflake/snowpark_connect/includes/python/pyspark/ml/tests/tuning/test_tvs_io_basic.py +0 -137
- snowflake/snowpark_connect/includes/python/pyspark/ml/tests/tuning/test_tvs_io_nested.py +0 -96
- snowflake/snowpark_connect/includes/python/pyspark/ml/tests/tuning/test_tvs_io_pipeline.py +0 -142
- snowflake/snowpark_connect/includes/python/pyspark/ml/torch/tests/__init__.py +0 -16
- snowflake/snowpark_connect/includes/python/pyspark/ml/torch/tests/test_data_loader.py +0 -137
- snowflake/snowpark_connect/includes/python/pyspark/ml/torch/tests/test_distributor.py +0 -561
- snowflake/snowpark_connect/includes/python/pyspark/ml/torch/tests/test_log_communication.py +0 -172
- snowflake/snowpark_connect/includes/python/pyspark/mllib/tests/__init__.py +0 -16
- snowflake/snowpark_connect/includes/python/pyspark/mllib/tests/test_algorithms.py +0 -353
- snowflake/snowpark_connect/includes/python/pyspark/mllib/tests/test_feature.py +0 -192
- snowflake/snowpark_connect/includes/python/pyspark/mllib/tests/test_linalg.py +0 -680
- snowflake/snowpark_connect/includes/python/pyspark/mllib/tests/test_stat.py +0 -206
- snowflake/snowpark_connect/includes/python/pyspark/mllib/tests/test_streaming_algorithms.py +0 -471
- snowflake/snowpark_connect/includes/python/pyspark/mllib/tests/test_util.py +0 -108
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/__init__.py +0 -16
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/computation/__init__.py +0 -16
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/computation/test_any_all.py +0 -177
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/computation/test_apply_func.py +0 -575
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/computation/test_binary_ops.py +0 -235
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/computation/test_combine.py +0 -653
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/computation/test_compute.py +0 -463
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/computation/test_corrwith.py +0 -86
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/computation/test_cov.py +0 -151
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/computation/test_cumulative.py +0 -139
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/computation/test_describe.py +0 -458
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/computation/test_eval.py +0 -86
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/computation/test_melt.py +0 -202
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/computation/test_missing_data.py +0 -520
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/computation/test_pivot.py +0 -361
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/__init__.py +0 -16
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/computation/__init__.py +0 -16
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/computation/test_parity_any_all.py +0 -40
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/computation/test_parity_apply_func.py +0 -42
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/computation/test_parity_binary_ops.py +0 -40
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/computation/test_parity_combine.py +0 -37
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/computation/test_parity_compute.py +0 -60
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/computation/test_parity_corrwith.py +0 -40
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/computation/test_parity_cov.py +0 -40
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/computation/test_parity_cumulative.py +0 -90
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/computation/test_parity_describe.py +0 -40
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/computation/test_parity_eval.py +0 -40
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/computation/test_parity_melt.py +0 -40
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/computation/test_parity_missing_data.py +0 -42
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/computation/test_parity_pivot.py +0 -37
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/data_type_ops/__init__.py +0 -16
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/data_type_ops/test_parity_base.py +0 -36
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/data_type_ops/test_parity_binary_ops.py +0 -42
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/data_type_ops/test_parity_boolean_ops.py +0 -47
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/data_type_ops/test_parity_categorical_ops.py +0 -55
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/data_type_ops/test_parity_complex_ops.py +0 -40
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/data_type_ops/test_parity_date_ops.py +0 -47
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/data_type_ops/test_parity_datetime_ops.py +0 -47
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/data_type_ops/test_parity_null_ops.py +0 -42
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/data_type_ops/test_parity_num_arithmetic.py +0 -43
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/data_type_ops/test_parity_num_ops.py +0 -47
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/data_type_ops/test_parity_num_reverse.py +0 -43
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/data_type_ops/test_parity_string_ops.py +0 -47
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/data_type_ops/test_parity_timedelta_ops.py +0 -47
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/data_type_ops/test_parity_udt_ops.py +0 -40
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/data_type_ops/testing_utils.py +0 -226
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/diff_frames_ops/__init__.py +0 -16
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/diff_frames_ops/test_parity_align.py +0 -39
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/diff_frames_ops/test_parity_basic_slow.py +0 -55
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/diff_frames_ops/test_parity_cov_corrwith.py +0 -39
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/diff_frames_ops/test_parity_dot_frame.py +0 -39
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/diff_frames_ops/test_parity_dot_series.py +0 -39
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/diff_frames_ops/test_parity_index.py +0 -39
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/diff_frames_ops/test_parity_series.py +0 -39
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/diff_frames_ops/test_parity_setitem_frame.py +0 -43
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/diff_frames_ops/test_parity_setitem_series.py +0 -43
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/frame/__init__.py +0 -16
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/frame/test_parity_attrs.py +0 -40
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/frame/test_parity_constructor.py +0 -39
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/frame/test_parity_conversion.py +0 -42
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/frame/test_parity_reindexing.py +0 -42
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/frame/test_parity_reshaping.py +0 -37
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/frame/test_parity_spark.py +0 -40
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/frame/test_parity_take.py +0 -42
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/frame/test_parity_time_series.py +0 -48
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/frame/test_parity_truncate.py +0 -40
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/groupby/__init__.py +0 -16
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/groupby/test_parity_aggregate.py +0 -40
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/groupby/test_parity_apply_func.py +0 -41
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/groupby/test_parity_cumulative.py +0 -67
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/groupby/test_parity_describe.py +0 -40
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/groupby/test_parity_groupby.py +0 -55
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/groupby/test_parity_head_tail.py +0 -40
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/groupby/test_parity_index.py +0 -38
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/groupby/test_parity_missing_data.py +0 -55
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/groupby/test_parity_split_apply.py +0 -39
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/groupby/test_parity_stat.py +0 -38
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/indexes/__init__.py +0 -16
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/indexes/test_parity_align.py +0 -40
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/indexes/test_parity_base.py +0 -50
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/indexes/test_parity_category.py +0 -73
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/indexes/test_parity_datetime.py +0 -39
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/indexes/test_parity_indexing.py +0 -40
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/indexes/test_parity_reindex.py +0 -40
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/indexes/test_parity_rename.py +0 -40
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/indexes/test_parity_reset_index.py +0 -48
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/indexes/test_parity_timedelta.py +0 -39
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/io/__init__.py +0 -16
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/io/test_parity_io.py +0 -40
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/plot/__init__.py +0 -16
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/plot/test_parity_frame_plot.py +0 -45
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/plot/test_parity_frame_plot_matplotlib.py +0 -45
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/plot/test_parity_frame_plot_plotly.py +0 -49
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/plot/test_parity_series_plot.py +0 -37
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/plot/test_parity_series_plot_matplotlib.py +0 -53
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/plot/test_parity_series_plot_plotly.py +0 -45
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/series/__init__.py +0 -16
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/series/test_parity_all_any.py +0 -38
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/series/test_parity_arg_ops.py +0 -37
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/series/test_parity_as_of.py +0 -37
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/series/test_parity_as_type.py +0 -38
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/series/test_parity_compute.py +0 -37
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/series/test_parity_conversion.py +0 -40
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/series/test_parity_cumulative.py +0 -40
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/series/test_parity_index.py +0 -38
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/series/test_parity_missing_data.py +0 -40
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/series/test_parity_series.py +0 -37
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/series/test_parity_sort.py +0 -38
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/series/test_parity_stat.py +0 -38
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_categorical.py +0 -66
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_config.py +0 -37
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_csv.py +0 -37
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_dataframe_conversion.py +0 -42
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_dataframe_spark_io.py +0 -39
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_default_index.py +0 -49
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_ewm.py +0 -37
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_expanding.py +0 -39
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_extension.py +0 -49
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_frame_spark.py +0 -53
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_generic_functions.py +0 -43
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_indexing.py +0 -49
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_indexops_spark.py +0 -39
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_internal.py +0 -41
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_namespace.py +0 -39
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_numpy_compat.py +0 -60
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_ops_on_diff_frames.py +0 -48
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_ops_on_diff_frames_groupby.py +0 -39
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_ops_on_diff_frames_groupby_expanding.py +0 -44
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_ops_on_diff_frames_groupby_rolling.py +0 -84
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_repr.py +0 -37
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_resample.py +0 -45
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_reshape.py +0 -39
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_rolling.py +0 -39
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_scalars.py +0 -37
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_series_conversion.py +0 -39
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_series_datetime.py +0 -39
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_series_string.py +0 -39
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_spark_functions.py +0 -39
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_sql.py +0 -43
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_stats.py +0 -37
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_typedef.py +0 -36
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_utils.py +0 -37
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/connect/test_parity_window.py +0 -39
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/data_type_ops/__init__.py +0 -16
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/data_type_ops/test_base.py +0 -107
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/data_type_ops/test_binary_ops.py +0 -224
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/data_type_ops/test_boolean_ops.py +0 -825
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/data_type_ops/test_categorical_ops.py +0 -562
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/data_type_ops/test_complex_ops.py +0 -368
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/data_type_ops/test_date_ops.py +0 -257
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/data_type_ops/test_datetime_ops.py +0 -260
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/data_type_ops/test_null_ops.py +0 -178
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/data_type_ops/test_num_arithmetic.py +0 -184
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/data_type_ops/test_num_ops.py +0 -497
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/data_type_ops/test_num_reverse.py +0 -140
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/data_type_ops/test_string_ops.py +0 -354
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/data_type_ops/test_timedelta_ops.py +0 -219
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/data_type_ops/test_udt_ops.py +0 -192
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/data_type_ops/testing_utils.py +0 -228
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/diff_frames_ops/__init__.py +0 -16
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/diff_frames_ops/test_align.py +0 -118
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/diff_frames_ops/test_basic_slow.py +0 -198
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/diff_frames_ops/test_cov_corrwith.py +0 -181
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/diff_frames_ops/test_dot_frame.py +0 -103
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/diff_frames_ops/test_dot_series.py +0 -141
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/diff_frames_ops/test_index.py +0 -109
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/diff_frames_ops/test_series.py +0 -136
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/diff_frames_ops/test_setitem_frame.py +0 -125
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/diff_frames_ops/test_setitem_series.py +0 -217
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/frame/__init__.py +0 -16
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/frame/test_attrs.py +0 -384
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/frame/test_constructor.py +0 -598
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/frame/test_conversion.py +0 -73
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/frame/test_reindexing.py +0 -869
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/frame/test_reshaping.py +0 -487
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/frame/test_spark.py +0 -309
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/frame/test_take.py +0 -156
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/frame/test_time_series.py +0 -149
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/frame/test_truncate.py +0 -163
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/groupby/__init__.py +0 -16
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/groupby/test_aggregate.py +0 -311
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/groupby/test_apply_func.py +0 -524
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/groupby/test_cumulative.py +0 -419
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/groupby/test_describe.py +0 -144
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/groupby/test_groupby.py +0 -979
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/groupby/test_head_tail.py +0 -234
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/groupby/test_index.py +0 -206
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/groupby/test_missing_data.py +0 -421
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/groupby/test_split_apply.py +0 -187
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/groupby/test_stat.py +0 -397
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/indexes/__init__.py +0 -16
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/indexes/test_align.py +0 -100
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/indexes/test_base.py +0 -2743
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/indexes/test_category.py +0 -484
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/indexes/test_datetime.py +0 -276
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/indexes/test_indexing.py +0 -432
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/indexes/test_reindex.py +0 -310
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/indexes/test_rename.py +0 -257
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/indexes/test_reset_index.py +0 -160
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/indexes/test_timedelta.py +0 -128
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/io/__init__.py +0 -16
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/io/test_io.py +0 -137
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/plot/__init__.py +0 -16
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/plot/test_frame_plot.py +0 -170
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/plot/test_frame_plot_matplotlib.py +0 -547
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/plot/test_frame_plot_plotly.py +0 -285
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/plot/test_series_plot.py +0 -106
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/plot/test_series_plot_matplotlib.py +0 -409
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/plot/test_series_plot_plotly.py +0 -247
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/series/__init__.py +0 -16
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/series/test_all_any.py +0 -105
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/series/test_arg_ops.py +0 -197
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/series/test_as_of.py +0 -137
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/series/test_as_type.py +0 -227
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/series/test_compute.py +0 -634
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/series/test_conversion.py +0 -88
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/series/test_cumulative.py +0 -139
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/series/test_index.py +0 -475
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/series/test_missing_data.py +0 -265
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/series/test_series.py +0 -818
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/series/test_sort.py +0 -162
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/series/test_stat.py +0 -780
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_categorical.py +0 -741
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_config.py +0 -160
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_csv.py +0 -453
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_dataframe_conversion.py +0 -281
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_dataframe_spark_io.py +0 -487
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_default_index.py +0 -109
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_ewm.py +0 -434
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_expanding.py +0 -253
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_extension.py +0 -152
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_frame_spark.py +0 -162
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_generic_functions.py +0 -234
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_indexing.py +0 -1339
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_indexops_spark.py +0 -82
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_internal.py +0 -124
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_namespace.py +0 -638
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_numpy_compat.py +0 -200
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_ops_on_diff_frames.py +0 -1355
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_ops_on_diff_frames_groupby.py +0 -655
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_ops_on_diff_frames_groupby_expanding.py +0 -113
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_ops_on_diff_frames_groupby_rolling.py +0 -118
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_repr.py +0 -192
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_resample.py +0 -346
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_reshape.py +0 -495
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_rolling.py +0 -263
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_scalars.py +0 -59
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_series_conversion.py +0 -85
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_series_datetime.py +0 -364
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_series_string.py +0 -362
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_spark_functions.py +0 -46
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_sql.py +0 -123
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_stats.py +0 -581
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_typedef.py +0 -447
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_utils.py +0 -301
- snowflake/snowpark_connect/includes/python/pyspark/pandas/tests/test_window.py +0 -465
- snowflake/snowpark_connect/includes/python/pyspark/resource/tests/__init__.py +0 -16
- snowflake/snowpark_connect/includes/python/pyspark/resource/tests/test_resources.py +0 -83
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/__init__.py +0 -16
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/__init__.py +0 -16
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/client/__init__.py +0 -16
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/client/test_artifact.py +0 -420
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/client/test_client.py +0 -358
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/streaming/__init__.py +0 -16
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/streaming/test_parity_foreach.py +0 -36
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/streaming/test_parity_foreach_batch.py +0 -44
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/streaming/test_parity_listener.py +0 -116
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/streaming/test_parity_streaming.py +0 -35
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_connect_basic.py +0 -3612
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_connect_column.py +0 -1042
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_connect_function.py +0 -2381
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_connect_plan.py +0 -1060
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_arrow.py +0 -163
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_arrow_map.py +0 -38
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_arrow_python_udf.py +0 -48
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_catalog.py +0 -36
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_column.py +0 -55
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_conf.py +0 -36
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_dataframe.py +0 -96
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_datasources.py +0 -44
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_errors.py +0 -36
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_functions.py +0 -59
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_group.py +0 -36
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_pandas_cogrouped_map.py +0 -59
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_pandas_grouped_map.py +0 -74
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_pandas_grouped_map_with_state.py +0 -62
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_pandas_map.py +0 -58
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_pandas_udf.py +0 -70
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_pandas_udf_grouped_agg.py +0 -50
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_pandas_udf_scalar.py +0 -68
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_pandas_udf_window.py +0 -40
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_readwriter.py +0 -46
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_serde.py +0 -44
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_types.py +0 -100
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_udf.py +0 -100
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_parity_udtf.py +0 -163
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_session.py +0 -181
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/connect/test_utils.py +0 -42
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/pandas/__init__.py +0 -16
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/pandas/test_pandas_cogrouped_map.py +0 -623
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/pandas/test_pandas_grouped_map.py +0 -869
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/pandas/test_pandas_grouped_map_with_state.py +0 -342
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/pandas/test_pandas_map.py +0 -436
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/pandas/test_pandas_udf.py +0 -363
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/pandas/test_pandas_udf_grouped_agg.py +0 -592
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/pandas/test_pandas_udf_scalar.py +0 -1503
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/pandas/test_pandas_udf_typehints.py +0 -392
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/pandas/test_pandas_udf_typehints_with_future_annotations.py +0 -375
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/pandas/test_pandas_udf_window.py +0 -411
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/streaming/__init__.py +0 -16
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/streaming/test_streaming.py +0 -401
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/streaming/test_streaming_foreach.py +0 -295
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/streaming/test_streaming_foreach_batch.py +0 -106
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/streaming/test_streaming_listener.py +0 -558
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/test_arrow.py +0 -1346
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/test_arrow_map.py +0 -182
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/test_arrow_python_udf.py +0 -202
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/test_catalog.py +0 -503
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/test_column.py +0 -225
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/test_conf.py +0 -83
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/test_context.py +0 -201
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/test_dataframe.py +0 -1931
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/test_datasources.py +0 -256
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/test_errors.py +0 -69
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/test_functions.py +0 -1349
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/test_group.py +0 -53
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/test_pandas_sqlmetrics.py +0 -68
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/test_readwriter.py +0 -283
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/test_serde.py +0 -155
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/test_session.py +0 -412
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/test_types.py +0 -1581
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/test_udf.py +0 -961
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/test_udf_profiler.py +0 -165
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/test_udtf.py +0 -1456
- snowflake/snowpark_connect/includes/python/pyspark/sql/tests/test_utils.py +0 -1686
- snowflake/snowpark_connect/includes/python/pyspark/streaming/tests/__init__.py +0 -16
- snowflake/snowpark_connect/includes/python/pyspark/streaming/tests/test_context.py +0 -184
- snowflake/snowpark_connect/includes/python/pyspark/streaming/tests/test_dstream.py +0 -706
- snowflake/snowpark_connect/includes/python/pyspark/streaming/tests/test_kinesis.py +0 -118
- snowflake/snowpark_connect/includes/python/pyspark/streaming/tests/test_listener.py +0 -160
- snowflake/snowpark_connect/includes/python/pyspark/tests/__init__.py +0 -16
- snowflake/snowpark_connect/includes/python/pyspark/tests/test_appsubmit.py +0 -306
- snowflake/snowpark_connect/includes/python/pyspark/tests/test_broadcast.py +0 -196
- snowflake/snowpark_connect/includes/python/pyspark/tests/test_conf.py +0 -44
- snowflake/snowpark_connect/includes/python/pyspark/tests/test_context.py +0 -346
- snowflake/snowpark_connect/includes/python/pyspark/tests/test_daemon.py +0 -89
- snowflake/snowpark_connect/includes/python/pyspark/tests/test_install_spark.py +0 -124
- snowflake/snowpark_connect/includes/python/pyspark/tests/test_join.py +0 -69
- snowflake/snowpark_connect/includes/python/pyspark/tests/test_memory_profiler.py +0 -167
- snowflake/snowpark_connect/includes/python/pyspark/tests/test_pin_thread.py +0 -194
- snowflake/snowpark_connect/includes/python/pyspark/tests/test_profiler.py +0 -168
- snowflake/snowpark_connect/includes/python/pyspark/tests/test_rdd.py +0 -939
- snowflake/snowpark_connect/includes/python/pyspark/tests/test_rddbarrier.py +0 -52
- snowflake/snowpark_connect/includes/python/pyspark/tests/test_rddsampler.py +0 -66
- snowflake/snowpark_connect/includes/python/pyspark/tests/test_readwrite.py +0 -368
- snowflake/snowpark_connect/includes/python/pyspark/tests/test_serializers.py +0 -257
- snowflake/snowpark_connect/includes/python/pyspark/tests/test_shuffle.py +0 -267
- snowflake/snowpark_connect/includes/python/pyspark/tests/test_stage_sched.py +0 -153
- snowflake/snowpark_connect/includes/python/pyspark/tests/test_statcounter.py +0 -130
- snowflake/snowpark_connect/includes/python/pyspark/tests/test_taskcontext.py +0 -350
- snowflake/snowpark_connect/includes/python/pyspark/tests/test_util.py +0 -97
- snowflake/snowpark_connect/includes/python/pyspark/tests/test_worker.py +0 -271
- snowpark_connect-0.23.0.dist-info/RECORD +0 -893
- {snowpark_connect-0.23.0.data → snowpark_connect-0.25.0.data}/scripts/snowpark-connect +0 -0
- {snowpark_connect-0.23.0.data → snowpark_connect-0.25.0.data}/scripts/snowpark-session +0 -0
- {snowpark_connect-0.23.0.data → snowpark_connect-0.25.0.data}/scripts/snowpark-submit +0 -0
- {snowpark_connect-0.23.0.dist-info → snowpark_connect-0.25.0.dist-info}/WHEEL +0 -0
- {snowpark_connect-0.23.0.dist-info → snowpark_connect-0.25.0.dist-info}/licenses/LICENSE-binary +0 -0
- {snowpark_connect-0.23.0.dist-info → snowpark_connect-0.25.0.dist-info}/licenses/LICENSE.txt +0 -0
- {snowpark_connect-0.23.0.dist-info → snowpark_connect-0.25.0.dist-info}/licenses/NOTICE-binary +0 -0
- {snowpark_connect-0.23.0.dist-info → snowpark_connect-0.25.0.dist-info}/top_level.txt +0 -0
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
|
2
|
-
#
|
|
3
|
-
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
4
|
-
# contributor license agreements. See the NOTICE file distributed with
|
|
5
|
-
# this work for additional information regarding copyright ownership.
|
|
6
|
-
# The ASF licenses this file to You under the Apache License, Version 2.0
|
|
7
|
-
# (the "License"); you may not use this file except in compliance with
|
|
8
|
-
# the License. You may obtain a copy of the License at
|
|
9
|
-
#
|
|
10
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
#
|
|
12
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
13
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
-
# See the License for the specific language governing permissions and
|
|
16
|
-
# limitations under the License.
|
|
17
|
-
#
|
|
18
|
-
|
|
19
|
-
import json
|
|
20
|
-
import unittest
|
|
21
|
-
|
|
22
|
-
from pyspark.errors.error_classes import ERROR_CLASSES_JSON
|
|
23
|
-
from pyspark.errors.utils import ErrorClassesReader
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
class ErrorsTest(unittest.TestCase):
|
|
27
|
-
def test_error_classes_sorted(self):
|
|
28
|
-
# Test error classes is sorted alphabetically
|
|
29
|
-
error_reader = ErrorClassesReader()
|
|
30
|
-
error_class_names = list(error_reader.error_info_map.keys())
|
|
31
|
-
for i in range(len(error_class_names) - 1):
|
|
32
|
-
self.assertTrue(
|
|
33
|
-
error_class_names[i] < error_class_names[i + 1],
|
|
34
|
-
f"Error class [{error_class_names[i]}] should place"
|
|
35
|
-
f"after [{error_class_names[i + 1]}]",
|
|
36
|
-
)
|
|
37
|
-
|
|
38
|
-
def test_error_classes_duplicated(self):
|
|
39
|
-
# Test error classes is not duplicated
|
|
40
|
-
def detect_duplication(pairs):
|
|
41
|
-
error_classes_json = {}
|
|
42
|
-
for name, message in pairs:
|
|
43
|
-
self.assertTrue(name not in error_classes_json, f"Duplicate error class: {name}")
|
|
44
|
-
error_classes_json[name] = message
|
|
45
|
-
return error_classes_json
|
|
46
|
-
|
|
47
|
-
json.loads(ERROR_CLASSES_JSON, object_pairs_hook=detect_duplication)
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
if __name__ == "__main__":
|
|
51
|
-
import unittest
|
|
52
|
-
from pyspark.errors.tests.test_errors import * # noqa: F401
|
|
53
|
-
|
|
54
|
-
try:
|
|
55
|
-
import xmlrunner
|
|
56
|
-
|
|
57
|
-
testRunner = xmlrunner.XMLTestRunner(output="target/test-reports", verbosity=2)
|
|
58
|
-
except ImportError:
|
|
59
|
-
testRunner = None
|
|
60
|
-
unittest.main(testRunner=testRunner, verbosity=2)
|
snowflake/snowpark_connect/includes/python/pyspark/ml/deepspeed/tests/test_deepspeed_distributor.py
DELETED
|
@@ -1,306 +0,0 @@
|
|
|
1
|
-
# mypy: ignore-errors
|
|
2
|
-
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
3
|
-
# contributor license agreements. See the NOTICE file distributed with
|
|
4
|
-
# this work for additional information regarding copyright ownership.
|
|
5
|
-
# The ASF licenses this file to You under the Apache License, Version 2.0
|
|
6
|
-
# (the "License"); you may not use this file except in compliance with
|
|
7
|
-
# the License. You may obtain a copy of the License at
|
|
8
|
-
#
|
|
9
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
#
|
|
11
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
# See the License for the specific language governing permissions and
|
|
15
|
-
# limitations under the License.
|
|
16
|
-
#
|
|
17
|
-
from contextlib import contextmanager
|
|
18
|
-
import os
|
|
19
|
-
import shutil
|
|
20
|
-
import sys
|
|
21
|
-
import textwrap
|
|
22
|
-
from typing import Any, Callable, Dict, Tuple
|
|
23
|
-
import unittest
|
|
24
|
-
|
|
25
|
-
from pyspark import SparkConf, SparkContext
|
|
26
|
-
from pyspark.ml.deepspeed.deepspeed_distributor import DeepspeedTorchDistributor
|
|
27
|
-
from pyspark.sql import SparkSession
|
|
28
|
-
from pyspark.ml.torch.tests.test_distributor import (
|
|
29
|
-
get_local_mode_conf,
|
|
30
|
-
set_up_test_dirs,
|
|
31
|
-
get_distributed_mode_conf,
|
|
32
|
-
)
|
|
33
|
-
|
|
34
|
-
have_deepspeed = True
|
|
35
|
-
try:
|
|
36
|
-
import deepspeed # noqa: F401
|
|
37
|
-
except ImportError:
|
|
38
|
-
have_deepspeed = False
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
class DeepspeedTorchDistributorUnitTests(unittest.TestCase):
|
|
42
|
-
def _get_env_var(self, var_name: str, default_value: Any) -> Any:
|
|
43
|
-
value = os.getenv(var_name)
|
|
44
|
-
if value:
|
|
45
|
-
return value
|
|
46
|
-
os.environ[var_name] = str(default_value)
|
|
47
|
-
return default_value
|
|
48
|
-
|
|
49
|
-
def _get_env_variables_distributed(self) -> Tuple[Any, Any, Any]:
|
|
50
|
-
master_addr = self._get_env_var("MASTER_ADDR", "127.0.0.1")
|
|
51
|
-
master_port = self._get_env_var("MASTER_PORT", 2000)
|
|
52
|
-
rank = self._get_env_var("RANK", 0)
|
|
53
|
-
return master_addr, master_port, rank
|
|
54
|
-
|
|
55
|
-
def test_get_torchrun_args_local(self) -> None:
|
|
56
|
-
number_of_processes = 5
|
|
57
|
-
expected_torchrun_args_local = ["--standalone", "--nnodes=1"]
|
|
58
|
-
expected_processes_per_node_local = number_of_processes
|
|
59
|
-
(
|
|
60
|
-
get_local_mode_torchrun_args,
|
|
61
|
-
process_per_node,
|
|
62
|
-
) = DeepspeedTorchDistributor._get_torchrun_args(True, number_of_processes)
|
|
63
|
-
self.assertEqual(get_local_mode_torchrun_args, expected_torchrun_args_local)
|
|
64
|
-
self.assertEqual(expected_processes_per_node_local, process_per_node)
|
|
65
|
-
|
|
66
|
-
def test_get_torchrun_args_distributed(self) -> None:
|
|
67
|
-
number_of_processes = 5
|
|
68
|
-
master_addr, master_port, rank = self._get_env_variables_distributed()
|
|
69
|
-
expected_torchrun_args_distributed = [
|
|
70
|
-
f"--nnodes={number_of_processes}",
|
|
71
|
-
f"--node_rank={rank}",
|
|
72
|
-
f"--rdzv_endpoint={master_addr}:{master_port}",
|
|
73
|
-
"--rdzv_id=0",
|
|
74
|
-
]
|
|
75
|
-
torchrun_args_distributed, process_per_node = DeepspeedTorchDistributor._get_torchrun_args(
|
|
76
|
-
False, number_of_processes
|
|
77
|
-
)
|
|
78
|
-
self.assertEqual(torchrun_args_distributed, expected_torchrun_args_distributed)
|
|
79
|
-
self.assertEqual(process_per_node, 1)
|
|
80
|
-
|
|
81
|
-
def test_create_torchrun_command_local(self) -> None:
|
|
82
|
-
deepspeed_conf = "path/to/deepspeed"
|
|
83
|
-
train_file_path = "path/to/exec"
|
|
84
|
-
num_procs = 10
|
|
85
|
-
input_params: Dict[str, Any] = {}
|
|
86
|
-
input_params["local_mode"] = True
|
|
87
|
-
input_params["num_processes"] = num_procs
|
|
88
|
-
input_params["deepspeed_config"] = deepspeed_conf
|
|
89
|
-
|
|
90
|
-
torchrun_local_args_expected = ["--standalone", "--nnodes=1"]
|
|
91
|
-
with self.subTest(msg="Testing local training with no extra args"):
|
|
92
|
-
local_cmd_no_args_expected = [
|
|
93
|
-
sys.executable,
|
|
94
|
-
"-m",
|
|
95
|
-
"torch.distributed.run",
|
|
96
|
-
*torchrun_local_args_expected,
|
|
97
|
-
f"--nproc_per_node={num_procs}",
|
|
98
|
-
train_file_path,
|
|
99
|
-
"--deepspeed",
|
|
100
|
-
"--deepspeed_config",
|
|
101
|
-
deepspeed_conf,
|
|
102
|
-
]
|
|
103
|
-
local_cmd = DeepspeedTorchDistributor._create_torchrun_command(
|
|
104
|
-
input_params, train_file_path
|
|
105
|
-
)
|
|
106
|
-
self.assertEqual(local_cmd, local_cmd_no_args_expected)
|
|
107
|
-
with self.subTest(msg="Testing local training with extra args for the training script"):
|
|
108
|
-
local_mode_version_args = ["--arg1", "--arg2"]
|
|
109
|
-
local_cmd_args_expected = [
|
|
110
|
-
sys.executable,
|
|
111
|
-
"-m",
|
|
112
|
-
"torch.distributed.run",
|
|
113
|
-
*torchrun_local_args_expected,
|
|
114
|
-
f"--nproc_per_node={num_procs}",
|
|
115
|
-
train_file_path,
|
|
116
|
-
*local_mode_version_args,
|
|
117
|
-
"--deepspeed",
|
|
118
|
-
"--deepspeed_config",
|
|
119
|
-
deepspeed_conf,
|
|
120
|
-
]
|
|
121
|
-
|
|
122
|
-
local_cmd_with_args = DeepspeedTorchDistributor._create_torchrun_command(
|
|
123
|
-
input_params, train_file_path, *local_mode_version_args
|
|
124
|
-
)
|
|
125
|
-
self.assertEqual(local_cmd_with_args, local_cmd_args_expected)
|
|
126
|
-
|
|
127
|
-
def test_create_torchrun_command_distributed(self) -> None:
|
|
128
|
-
deepspeed_conf = "path/to/deepspeed"
|
|
129
|
-
train_file_path = "path/to/exec"
|
|
130
|
-
num_procs = 10
|
|
131
|
-
input_params: Dict[str, Any] = {}
|
|
132
|
-
input_params["local_mode"] = True
|
|
133
|
-
input_params["num_processes"] = num_procs
|
|
134
|
-
input_params["deepspeed_config"] = deepspeed_conf
|
|
135
|
-
(
|
|
136
|
-
distributed_master_address,
|
|
137
|
-
distributed_master_port,
|
|
138
|
-
distributed_rank,
|
|
139
|
-
) = self._get_env_variables_distributed()
|
|
140
|
-
distributed_torchrun_args = [
|
|
141
|
-
f"--nnodes={num_procs}",
|
|
142
|
-
f"--node_rank={distributed_rank}",
|
|
143
|
-
f"--rdzv_endpoint={distributed_master_address}:{distributed_master_port}",
|
|
144
|
-
"--rdzv_id=0",
|
|
145
|
-
]
|
|
146
|
-
with self.subTest(msg="Distributed training command verification with no extra args"):
|
|
147
|
-
distributed_cmd_no_args_expected = [
|
|
148
|
-
sys.executable,
|
|
149
|
-
"-m",
|
|
150
|
-
"torch.distributed.run",
|
|
151
|
-
*distributed_torchrun_args,
|
|
152
|
-
"--nproc_per_node=1",
|
|
153
|
-
train_file_path,
|
|
154
|
-
"--deepspeed",
|
|
155
|
-
"--deepspeed_config",
|
|
156
|
-
deepspeed_conf,
|
|
157
|
-
]
|
|
158
|
-
input_params["local_mode"] = False
|
|
159
|
-
distributed_command = DeepspeedTorchDistributor._create_torchrun_command(
|
|
160
|
-
input_params, train_file_path
|
|
161
|
-
)
|
|
162
|
-
self.assertEqual(distributed_cmd_no_args_expected, distributed_command)
|
|
163
|
-
with self.subTest(msg="Distributed training command verification with extra arguments"):
|
|
164
|
-
distributed_extra_args = ["-args1", "--args2"]
|
|
165
|
-
distributed_cmd_args_expected = [
|
|
166
|
-
sys.executable,
|
|
167
|
-
"-m",
|
|
168
|
-
"torch.distributed.run",
|
|
169
|
-
*distributed_torchrun_args,
|
|
170
|
-
"--nproc_per_node=1",
|
|
171
|
-
train_file_path,
|
|
172
|
-
*distributed_extra_args,
|
|
173
|
-
"--deepspeed",
|
|
174
|
-
"--deepspeed_config",
|
|
175
|
-
deepspeed_conf,
|
|
176
|
-
]
|
|
177
|
-
distributed_command_with_args = DeepspeedTorchDistributor._create_torchrun_command(
|
|
178
|
-
input_params, train_file_path, *distributed_extra_args
|
|
179
|
-
)
|
|
180
|
-
self.assertEqual(distributed_cmd_args_expected, distributed_command_with_args)
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
def _create_basic_function() -> Callable:
|
|
184
|
-
# TODO: swap out with better test function
|
|
185
|
-
# once Deepspeed better supports CPU
|
|
186
|
-
def pythagoras(leg1: float, leg2: float) -> float:
|
|
187
|
-
import deepspeed
|
|
188
|
-
|
|
189
|
-
print(deepspeed.__version__)
|
|
190
|
-
return (leg1 * leg1 + leg2 * leg2) ** 0.5
|
|
191
|
-
|
|
192
|
-
return pythagoras
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
@contextmanager
|
|
196
|
-
def _create_pytorch_training_test_file():
|
|
197
|
-
# Note: when Deepspeed CPU support becomes better,
|
|
198
|
-
# switch in more realistic training files using Deepspeed
|
|
199
|
-
# optimizations + constructs
|
|
200
|
-
str_to_write = textwrap.dedent(
|
|
201
|
-
"""
|
|
202
|
-
import sys
|
|
203
|
-
def pythagorean_thm(x : int, y: int): # type: ignore
|
|
204
|
-
import deepspeed # type: ignore
|
|
205
|
-
return (x*x + y*y)**0.5 # type: ignore
|
|
206
|
-
print(pythagorean_thm(int(sys.argv[1]), int(sys.argv[2])))"""
|
|
207
|
-
)
|
|
208
|
-
cp_path = "/tmp/test_deepspeed_training_file.py"
|
|
209
|
-
with open(cp_path, "w") as f:
|
|
210
|
-
f.write(str_to_write)
|
|
211
|
-
yield cp_path
|
|
212
|
-
os.remove(cp_path)
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
# The program and function that we use in the end-to-end tests
|
|
216
|
-
# is very simple because in the Spark CI we only have access
|
|
217
|
-
# to CPUs and at this point in time, CPU support is limited
|
|
218
|
-
# in Deepspeed. Once Deepspeed better supports CPU training
|
|
219
|
-
# and inference, the hope is to switch out the training
|
|
220
|
-
# and file for the tests with more realistic testing
|
|
221
|
-
# that use Deepspeed constructs.
|
|
222
|
-
@unittest.skipIf(not have_deepspeed, "deepspeed is required for these tests")
|
|
223
|
-
class DeepspeedTorchDistributorDistributedEndToEnd(unittest.TestCase):
|
|
224
|
-
@classmethod
|
|
225
|
-
def setUpClass(cls) -> None:
|
|
226
|
-
(cls.gpu_discovery_script_file_name, cls.mnist_dir_path) = set_up_test_dirs() # noqa
|
|
227
|
-
# "loadDefaults" is set to False because if not, the SparkConf will
|
|
228
|
-
# use contain configurations from the LocalEndToEnd test,
|
|
229
|
-
# which causes the test to break.
|
|
230
|
-
conf = SparkConf(loadDefaults=False)
|
|
231
|
-
for k, v in get_distributed_mode_conf().items():
|
|
232
|
-
conf = conf.set(k, v)
|
|
233
|
-
conf = conf.set(
|
|
234
|
-
"spark.worker.resource.gpu.discoveryScript", cls.gpu_discovery_script_file_name
|
|
235
|
-
)
|
|
236
|
-
sc = SparkContext("local-cluster[2,2,512]", cls.__name__, conf=conf)
|
|
237
|
-
cls.spark = SparkSession(sc)
|
|
238
|
-
|
|
239
|
-
@classmethod
|
|
240
|
-
def tearDownClass(cls) -> None:
|
|
241
|
-
shutil.rmtree(cls.mnist_dir_path)
|
|
242
|
-
os.unlink(cls.gpu_discovery_script_file_name)
|
|
243
|
-
cls.spark.stop()
|
|
244
|
-
|
|
245
|
-
def test_simple_function_e2e(self) -> None:
|
|
246
|
-
train_fn = _create_basic_function()
|
|
247
|
-
# Arguments for the pythagoras function train_fn
|
|
248
|
-
x = 3
|
|
249
|
-
y = 4
|
|
250
|
-
dist = DeepspeedTorchDistributor(numGpus=2, useGpu=False, localMode=False)
|
|
251
|
-
output = dist.run(train_fn, x, y)
|
|
252
|
-
self.assertEqual(output, 5)
|
|
253
|
-
|
|
254
|
-
def test_pytorch_file_e2e(self) -> None:
|
|
255
|
-
# TODO: change to better test script
|
|
256
|
-
# once Deepspeed CPU support is better
|
|
257
|
-
with _create_pytorch_training_test_file() as cp_path:
|
|
258
|
-
dist = DeepspeedTorchDistributor(numGpus=True, useGpu=False, localMode=False)
|
|
259
|
-
dist.run(cp_path, 2, 5)
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
@unittest.skipIf(not have_deepspeed, "deepspeed is required for these tests")
|
|
263
|
-
class DeepspeedDistributorLocalEndToEndTests(unittest.TestCase):
|
|
264
|
-
@classmethod
|
|
265
|
-
def setUpClass(cls) -> None:
|
|
266
|
-
cls.gpu_discovery_script_file_name, cls.mnist_dir_path = set_up_test_dirs() # noqa
|
|
267
|
-
conf = SparkConf()
|
|
268
|
-
for k, v in get_local_mode_conf().items():
|
|
269
|
-
conf = conf.set(k, v)
|
|
270
|
-
conf = conf.set(
|
|
271
|
-
"spark.driver.resource.gpu.discoveryScript", cls.gpu_discovery_script_file_name
|
|
272
|
-
)
|
|
273
|
-
sc = SparkContext("local-cluster[2,2,512]", cls.__name__, conf=conf)
|
|
274
|
-
cls.spark = SparkSession(sc)
|
|
275
|
-
|
|
276
|
-
@classmethod
|
|
277
|
-
def tearDownClass(cls) -> None:
|
|
278
|
-
shutil.rmtree(cls.mnist_dir_path)
|
|
279
|
-
os.unlink(cls.gpu_discovery_script_file_name)
|
|
280
|
-
cls.spark.stop()
|
|
281
|
-
|
|
282
|
-
def test_simple_function_e2e(self) -> None:
|
|
283
|
-
train_fn = _create_basic_function()
|
|
284
|
-
# Arguments for the pythagoras function train_fn
|
|
285
|
-
x = 3
|
|
286
|
-
y = 4
|
|
287
|
-
dist = DeepspeedTorchDistributor(numGpus=2, useGpu=False, localMode=True)
|
|
288
|
-
output = dist.run(train_fn, x, y)
|
|
289
|
-
self.assertEqual(output, 5)
|
|
290
|
-
|
|
291
|
-
def test_pytorch_file_e2e(self) -> None:
|
|
292
|
-
with _create_pytorch_training_test_file() as path_to_train_file:
|
|
293
|
-
dist = DeepspeedTorchDistributor(numGpus=2, useGpu=False, localMode=True)
|
|
294
|
-
dist.run(path_to_train_file, 2, 5)
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
if __name__ == "__main__":
|
|
298
|
-
from pyspark.ml.deepspeed.tests.test_deepspeed_distributor import * # noqa: F401,F403
|
|
299
|
-
|
|
300
|
-
try:
|
|
301
|
-
import xmlrunner # type:ignore
|
|
302
|
-
|
|
303
|
-
testRunner = xmlrunner.XMLTestRunner(output="target/test-reports", verbosity=2)
|
|
304
|
-
except ImportError:
|
|
305
|
-
testRunner = None
|
|
306
|
-
unittest.main(testRunner=testRunner, verbosity=2)
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
3
|
-
# contributor license agreements. See the NOTICE file distributed with
|
|
4
|
-
# this work for additional information regarding copyright ownership.
|
|
5
|
-
# The ASF licenses this file to You under the Apache License, Version 2.0
|
|
6
|
-
# (the "License"); you may not use this file except in compliance with
|
|
7
|
-
# the License. You may obtain a copy of the License at
|
|
8
|
-
#
|
|
9
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
#
|
|
11
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
# See the License for the specific language governing permissions and
|
|
15
|
-
# limitations under the License.
|
|
16
|
-
#
|
snowflake/snowpark_connect/includes/python/pyspark/ml/tests/connect/test_connect_classification.py
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
|
-
#
|
|
3
|
-
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
4
|
-
# contributor license agreements. See the NOTICE file distributed with
|
|
5
|
-
# this work for additional information regarding copyright ownership.
|
|
6
|
-
# The ASF licenses this file to You under the Apache License, Version 2.0
|
|
7
|
-
# (the "License"); you may not use this file except in compliance with
|
|
8
|
-
# the License. You may obtain a copy of the License at
|
|
9
|
-
#
|
|
10
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
#
|
|
12
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
13
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
-
# See the License for the specific language governing permissions and
|
|
16
|
-
# limitations under the License.
|
|
17
|
-
#
|
|
18
|
-
import unittest
|
|
19
|
-
import os
|
|
20
|
-
|
|
21
|
-
from pyspark.sql import SparkSession
|
|
22
|
-
from pyspark.ml.tests.connect.test_legacy_mode_classification import ClassificationTestsMixin
|
|
23
|
-
|
|
24
|
-
have_torch = "SPARK_SKIP_CONNECT_COMPAT_TESTS" not in os.environ
|
|
25
|
-
try:
|
|
26
|
-
import torch # noqa: F401
|
|
27
|
-
except ImportError:
|
|
28
|
-
have_torch = False
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
@unittest.skipIf(not have_torch, "torch is required")
|
|
32
|
-
class ClassificationTestsOnConnect(ClassificationTestsMixin, unittest.TestCase):
|
|
33
|
-
def setUp(self) -> None:
|
|
34
|
-
self.spark = (
|
|
35
|
-
SparkSession.builder.remote(os.environ.get("SPARK_CONNECT_TESTING_REMOTE", "local[2]"))
|
|
36
|
-
.config("spark.connect.copyFromLocalToFs.allowDestLocal", "true")
|
|
37
|
-
.getOrCreate()
|
|
38
|
-
)
|
|
39
|
-
|
|
40
|
-
def tearDown(self) -> None:
|
|
41
|
-
self.spark.stop()
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
if __name__ == "__main__":
|
|
45
|
-
from pyspark.ml.tests.connect.test_connect_classification import * # noqa: F401,F403
|
|
46
|
-
|
|
47
|
-
try:
|
|
48
|
-
import xmlrunner # type: ignore[import]
|
|
49
|
-
|
|
50
|
-
testRunner = xmlrunner.XMLTestRunner(output="target/test-reports", verbosity=2)
|
|
51
|
-
except ImportError:
|
|
52
|
-
testRunner = None
|
|
53
|
-
unittest.main(testRunner=testRunner, verbosity=2)
|
snowflake/snowpark_connect/includes/python/pyspark/ml/tests/connect/test_connect_evaluation.py
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
3
|
-
# contributor license agreements. See the NOTICE file distributed with
|
|
4
|
-
# this work for additional information regarding copyright ownership.
|
|
5
|
-
# The ASF licenses this file to You under the Apache License, Version 2.0
|
|
6
|
-
# (the "License"); you may not use this file except in compliance with
|
|
7
|
-
# the License. You may obtain a copy of the License at
|
|
8
|
-
#
|
|
9
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
#
|
|
11
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
# See the License for the specific language governing permissions and
|
|
15
|
-
# limitations under the License.
|
|
16
|
-
#
|
|
17
|
-
import os
|
|
18
|
-
import unittest
|
|
19
|
-
|
|
20
|
-
from pyspark.sql import SparkSession
|
|
21
|
-
from pyspark.ml.tests.connect.test_legacy_mode_evaluation import EvaluationTestsMixin
|
|
22
|
-
|
|
23
|
-
have_torcheval = "SPARK_SKIP_CONNECT_COMPAT_TESTS" not in os.environ
|
|
24
|
-
try:
|
|
25
|
-
import torcheval # noqa: F401
|
|
26
|
-
except ImportError:
|
|
27
|
-
have_torcheval = False
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
@unittest.skipIf(not have_torcheval, "torcheval is required")
|
|
31
|
-
class EvaluationTestsOnConnect(EvaluationTestsMixin, unittest.TestCase):
|
|
32
|
-
def setUp(self) -> None:
|
|
33
|
-
self.spark = SparkSession.builder.remote(
|
|
34
|
-
os.environ.get("SPARK_CONNECT_TESTING_REMOTE", "local[2]")
|
|
35
|
-
).getOrCreate()
|
|
36
|
-
|
|
37
|
-
def tearDown(self) -> None:
|
|
38
|
-
self.spark.stop()
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
if __name__ == "__main__":
|
|
42
|
-
from pyspark.ml.tests.connect.test_connect_evaluation import * # noqa: F401,F403
|
|
43
|
-
|
|
44
|
-
try:
|
|
45
|
-
import xmlrunner # type: ignore[import]
|
|
46
|
-
|
|
47
|
-
testRunner = xmlrunner.XMLTestRunner(output="target/test-reports", verbosity=2)
|
|
48
|
-
except ImportError:
|
|
49
|
-
testRunner = None
|
|
50
|
-
unittest.main(testRunner=testRunner, verbosity=2)
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
3
|
-
# contributor license agreements. See the NOTICE file distributed with
|
|
4
|
-
# this work for additional information regarding copyright ownership.
|
|
5
|
-
# The ASF licenses this file to You under the Apache License, Version 2.0
|
|
6
|
-
# (the "License"); you may not use this file except in compliance with
|
|
7
|
-
# the License. You may obtain a copy of the License at
|
|
8
|
-
#
|
|
9
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
#
|
|
11
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
# See the License for the specific language governing permissions and
|
|
15
|
-
# limitations under the License.
|
|
16
|
-
#
|
|
17
|
-
import os
|
|
18
|
-
import unittest
|
|
19
|
-
|
|
20
|
-
from pyspark.sql import SparkSession
|
|
21
|
-
from pyspark.ml.tests.connect.test_legacy_mode_feature import FeatureTestsMixin
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
class FeatureTestsOnConnect(FeatureTestsMixin, unittest.TestCase):
|
|
25
|
-
def setUp(self) -> None:
|
|
26
|
-
self.spark = SparkSession.builder.remote(
|
|
27
|
-
os.environ.get("SPARK_CONNECT_TESTING_REMOTE", "local[2]")
|
|
28
|
-
).getOrCreate()
|
|
29
|
-
|
|
30
|
-
def tearDown(self) -> None:
|
|
31
|
-
self.spark.stop()
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
if __name__ == "__main__":
|
|
35
|
-
from pyspark.ml.tests.connect.test_connect_feature import * # noqa: F401,F403
|
|
36
|
-
|
|
37
|
-
try:
|
|
38
|
-
import xmlrunner # type: ignore[import]
|
|
39
|
-
|
|
40
|
-
testRunner = xmlrunner.XMLTestRunner(output="target/test-reports", verbosity=2)
|
|
41
|
-
except ImportError:
|
|
42
|
-
testRunner = None
|
|
43
|
-
unittest.main(testRunner=testRunner, verbosity=2)
|
snowflake/snowpark_connect/includes/python/pyspark/ml/tests/connect/test_connect_function.py
DELETED
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
3
|
-
# contributor license agreements. See the NOTICE file distributed with
|
|
4
|
-
# this work for additional information regarding copyright ownership.
|
|
5
|
-
# The ASF licenses this file to You under the Apache License, Version 2.0
|
|
6
|
-
# (the "License"); you may not use this file except in compliance with
|
|
7
|
-
# the License. You may obtain a copy of the License at
|
|
8
|
-
#
|
|
9
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
#
|
|
11
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
# See the License for the specific language governing permissions and
|
|
15
|
-
# limitations under the License.
|
|
16
|
-
#
|
|
17
|
-
import os
|
|
18
|
-
import unittest
|
|
19
|
-
|
|
20
|
-
from pyspark.sql import SparkSession as PySparkSession
|
|
21
|
-
from pyspark.sql.dataframe import DataFrame as SDF
|
|
22
|
-
from pyspark.ml import functions as SF
|
|
23
|
-
|
|
24
|
-
from pyspark.testing.sqlutils import SQLTestUtils
|
|
25
|
-
from pyspark.testing.connectutils import (
|
|
26
|
-
should_test_connect,
|
|
27
|
-
ReusedConnectTestCase,
|
|
28
|
-
)
|
|
29
|
-
from pyspark.testing.pandasutils import PandasOnSparkTestUtils
|
|
30
|
-
|
|
31
|
-
if should_test_connect:
|
|
32
|
-
from pyspark.sql.connect.dataframe import DataFrame as CDF
|
|
33
|
-
from pyspark.ml.connect import functions as CF
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
@unittest.skipIf("SPARK_SKIP_CONNECT_COMPAT_TESTS" in os.environ, "Requires JVM access")
|
|
37
|
-
class SparkConnectMLFunctionTests(ReusedConnectTestCase, PandasOnSparkTestUtils, SQLTestUtils):
|
|
38
|
-
"""These test cases exercise the interface to the proto plan
|
|
39
|
-
generation but do not call Spark."""
|
|
40
|
-
|
|
41
|
-
@classmethod
|
|
42
|
-
def setUpClass(cls):
|
|
43
|
-
super(SparkConnectMLFunctionTests, cls).setUpClass()
|
|
44
|
-
# Disable the shared namespace so pyspark.sql.functions, etc point the regular
|
|
45
|
-
# PySpark libraries.
|
|
46
|
-
os.environ["PYSPARK_NO_NAMESPACE_SHARE"] = "1"
|
|
47
|
-
cls.connect = cls.spark # Switch Spark Connect session and regular PySpark sesion.
|
|
48
|
-
cls.spark = PySparkSession._instantiatedSession
|
|
49
|
-
assert cls.spark is not None
|
|
50
|
-
|
|
51
|
-
@classmethod
|
|
52
|
-
def tearDownClass(cls):
|
|
53
|
-
cls.spark = cls.connect # Stopping Spark Connect closes the session in JVM at the server.
|
|
54
|
-
super(SparkConnectMLFunctionTests, cls).setUpClass()
|
|
55
|
-
del os.environ["PYSPARK_NO_NAMESPACE_SHARE"]
|
|
56
|
-
|
|
57
|
-
def compare_by_show(self, df1, df2, n: int = 20, truncate: int = 20):
|
|
58
|
-
assert isinstance(df1, (SDF, CDF))
|
|
59
|
-
if isinstance(df1, SDF):
|
|
60
|
-
str1 = df1._jdf.showString(n, truncate, False)
|
|
61
|
-
else:
|
|
62
|
-
str1 = df1._show_string(n, truncate, False)
|
|
63
|
-
|
|
64
|
-
assert isinstance(df2, (SDF, CDF))
|
|
65
|
-
if isinstance(df2, SDF):
|
|
66
|
-
str2 = df2._jdf.showString(n, truncate, False)
|
|
67
|
-
else:
|
|
68
|
-
str2 = df2._show_string(n, truncate, False)
|
|
69
|
-
|
|
70
|
-
self.assertEqual(str1, str2)
|
|
71
|
-
|
|
72
|
-
def test_array_vector_conversion(self):
|
|
73
|
-
query = """
|
|
74
|
-
SELECT * FROM VALUES
|
|
75
|
-
(1, 4, ARRAY(1.0, 2.0, 3.0)),
|
|
76
|
-
(1, 2, ARRAY(-1.0, -2.0, -3.0))
|
|
77
|
-
AS tab(a, b, c)
|
|
78
|
-
"""
|
|
79
|
-
|
|
80
|
-
cdf = self.connect.sql(query)
|
|
81
|
-
sdf = self.spark.sql(query)
|
|
82
|
-
|
|
83
|
-
self.compare_by_show(
|
|
84
|
-
cdf.select(cdf.b, CF.array_to_vector(cdf.c)),
|
|
85
|
-
sdf.select(sdf.b, SF.array_to_vector(sdf.c)),
|
|
86
|
-
)
|
|
87
|
-
|
|
88
|
-
cdf1 = cdf.select("a", CF.array_to_vector(cdf.c).alias("d"))
|
|
89
|
-
sdf1 = sdf.select("a", SF.array_to_vector(sdf.c).alias("d"))
|
|
90
|
-
|
|
91
|
-
self.compare_by_show(
|
|
92
|
-
cdf1.select(CF.vector_to_array(cdf1.d)),
|
|
93
|
-
sdf1.select(SF.vector_to_array(sdf1.d)),
|
|
94
|
-
)
|
|
95
|
-
self.compare_by_show(
|
|
96
|
-
cdf1.select(CF.vector_to_array(cdf1.d, "float32")),
|
|
97
|
-
sdf1.select(SF.vector_to_array(sdf1.d, "float32")),
|
|
98
|
-
)
|
|
99
|
-
self.compare_by_show(
|
|
100
|
-
cdf1.select(CF.vector_to_array(cdf1.d, "float64")),
|
|
101
|
-
sdf1.select(SF.vector_to_array(sdf1.d, "float64")),
|
|
102
|
-
)
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
if __name__ == "__main__":
|
|
106
|
-
from pyspark.ml.tests.connect.test_connect_function import * # noqa: F401
|
|
107
|
-
|
|
108
|
-
try:
|
|
109
|
-
import xmlrunner # type: ignore
|
|
110
|
-
|
|
111
|
-
testRunner = xmlrunner.XMLTestRunner(output="target/test-reports", verbosity=2)
|
|
112
|
-
except ImportError:
|
|
113
|
-
testRunner = None
|
|
114
|
-
unittest.main(testRunner=testRunner, verbosity=2)
|