pyspark-client 4.1.0.dev4__tar.gz → 4.2.0.dev1__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.
- {pyspark_client-4.1.0.dev4/pyspark_client.egg-info → pyspark_client-4.2.0.dev1}/PKG-INFO +1 -1
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/accumulators.py +54 -15
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/daemon.py +57 -15
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/errors/error-conditions.json +116 -61
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/errors/exceptions/base.py +2 -2
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/errors/exceptions/connect.py +3 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/errors/utils.py +18 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/classification.py +21 -21
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/clustering.py +15 -12
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/connect/classification.py +2 -2
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/connect/feature.py +39 -35
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/connect/pipeline.py +2 -2
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/connect/tuning.py +3 -3
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/connect/util.py +2 -2
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/evaluation.py +7 -7
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/feature.py +53 -53
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/fpm.py +3 -3
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/param/__init__.py +1 -1
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/param/_shared_params_code_gen.py +1 -1
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/param/shared.py +39 -39
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/pipeline.py +6 -6
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/recommendation.py +3 -3
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/regression.py +16 -16
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/stat.py +1 -1
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/torch/distributor.py +16 -5
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/tree.py +5 -5
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/tuning.py +22 -24
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/util.py +7 -8
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/wrapper.py +4 -4
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/mllib/classification.py +4 -5
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/mllib/clustering.py +2 -2
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/mllib/evaluation.py +5 -5
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/mllib/feature.py +0 -1
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/mllib/regression.py +2 -2
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/mllib/tree.py +1 -1
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/mllib/util.py +1 -2
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/__init__.py +0 -10
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/data_type_ops/datetime_ops.py +1 -1
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/frame.py +85 -47
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/generic.py +2 -2
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/internal.py +1 -1
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/sql_formatter.py +2 -2
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/supported_api_gen.py +1 -1
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/typedef/typehints.py +6 -2
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pipelines/api.py +4 -4
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pipelines/cli.py +18 -10
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pipelines/init_cli.py +6 -1
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pipelines/spark_connect_graph_element_registry.py +1 -3
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pipelines/spark_connect_pipeline.py +3 -2
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/serializers.py +3 -15
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/catalog.py +14 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/client/core.py +42 -61
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/dataframe.py +19 -5
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/functions/builtin.py +51 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/group.py +0 -1
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/merge.py +4 -4
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/plan.py +3 -3
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/session.py +5 -2
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/sql_formatter.py +1 -1
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/udf.py +4 -2
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/conversion.py +18 -28
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/dataframe.py +97 -31
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/functions/__init__.py +7 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/functions/builtin.py +403 -63
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/metrics.py +29 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/pandas/_typing/__init__.pyi +10 -13
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/pandas/conversion.py +292 -119
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/pandas/functions.py +134 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/pandas/functions.pyi +4 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/pandas/group_ops.py +98 -74
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/pandas/serializers.py +226 -242
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/pandas/typehints.py +96 -2
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/pandas/types.py +59 -46
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/pandas/utils.py +1 -1
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/session.py +60 -30
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/sql_formatter.py +1 -1
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/streaming/stateful_processor_api_client.py +5 -0
- pyspark_client-4.2.0.dev1/pyspark/sql/table_arg.py +224 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/types.py +21 -11
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/udf.py +16 -11
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/window.py +8 -12
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/worker/analyze_udtf.py +8 -19
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/worker/commit_data_source_write.py +8 -19
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/worker/create_data_source.py +8 -19
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/worker/data_source_pushdown_filters.py +8 -19
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/worker/lookup_data_sources.py +8 -19
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/worker/plan_data_source_read.py +9 -20
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/worker/python_streaming_sink_runner.py +8 -19
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/worker/write_into_data_source.py +8 -19
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/taskcontext.py +0 -2
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/testing/connectutils.py +39 -9
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/testing/mlutils.py +6 -6
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/testing/pandasutils.py +1 -1
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/testing/sqlutils.py +8 -5
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/testing/utils.py +25 -3
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/util.py +88 -15
- pyspark_client-4.2.0.dev1/pyspark/version.py +1 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/worker.py +489 -354
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/worker_util.py +7 -4
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1/pyspark_client.egg-info}/PKG-INFO +1 -1
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark_client.egg-info/SOURCES.txt +0 -1
- pyspark_client-4.1.0.dev4/pyspark/pipelines/block_connect_access.py +0 -86
- pyspark_client-4.1.0.dev4/pyspark/sql/table_arg.py +0 -58
- pyspark_client-4.1.0.dev4/pyspark/version.py +0 -1
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/MANIFEST.in +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/README.md +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/__init__.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/_globals.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/_typing.pyi +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/cloudpickle/__init__.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/cloudpickle/cloudpickle.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/cloudpickle/cloudpickle_fast.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/conf.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/errors/__init__.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/errors/error_classes.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/errors/exceptions/__init__.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/errors/exceptions/captured.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/errors/exceptions/tblib.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/errors_doc_gen.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/find_spark_home.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/install.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/instrumentation_utils.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/java_gateway.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/join.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/logger/__init__.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/logger/logger.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/logger/worker_io.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/loose_version.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/__init__.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/_typing.pyi +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/base.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/common.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/connect/__init__.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/connect/base.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/connect/evaluation.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/connect/functions.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/connect/io_utils.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/connect/proto.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/connect/readwrite.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/connect/serialize.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/connect/summarizer.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/deepspeed/__init__.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/deepspeed/deepspeed_distributor.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/dl_util.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/functions.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/image.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/linalg/__init__.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/model_cache.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/torch/__init__.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/torch/data.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/torch/log_communication.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/ml/torch/torch_run_process_wrapper.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/mllib/__init__.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/mllib/_typing.pyi +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/mllib/common.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/mllib/fpm.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/mllib/linalg/__init__.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/mllib/linalg/distributed.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/mllib/random.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/mllib/recommendation.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/mllib/stat/KernelDensity.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/mllib/stat/__init__.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/mllib/stat/_statistics.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/mllib/stat/distribution.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/mllib/stat/test.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/_typing.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/accessors.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/base.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/categorical.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/config.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/correlation.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/data_type_ops/__init__.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/data_type_ops/base.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/data_type_ops/binary_ops.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/data_type_ops/boolean_ops.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/data_type_ops/categorical_ops.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/data_type_ops/complex_ops.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/data_type_ops/date_ops.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/data_type_ops/null_ops.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/data_type_ops/num_ops.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/data_type_ops/string_ops.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/data_type_ops/timedelta_ops.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/data_type_ops/udt_ops.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/datetimes.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/exceptions.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/extensions.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/groupby.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/indexes/__init__.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/indexes/base.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/indexes/category.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/indexes/datetimes.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/indexes/multi.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/indexes/timedelta.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/indexing.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/missing/__init__.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/missing/common.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/missing/frame.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/missing/general_functions.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/missing/groupby.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/missing/indexes.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/missing/resample.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/missing/scalars.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/missing/series.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/missing/window.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/mlflow.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/namespace.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/numpy_compat.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/plot/__init__.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/plot/core.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/plot/matplotlib.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/plot/plotly.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/resample.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/series.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/spark/__init__.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/spark/accessors.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/spark/utils.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/sql_processor.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/strings.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/testing.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/typedef/__init__.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/usage_logging/__init__.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/usage_logging/usage_logger.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/utils.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pandas/window.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pipelines/__init__.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pipelines/add_pipeline_analysis_context.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pipelines/block_session_mutations.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pipelines/flow.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pipelines/graph_element_registry.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pipelines/logging_utils.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pipelines/output.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pipelines/source_code_location.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/pipelines/type_error_utils.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/profiler.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/py.typed +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/rddsampler.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/resource/__init__.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/resource/information.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/resource/profile.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/resource/requests.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/resultiterable.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/shell.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/shuffle.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/__init__.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/_typing.pyi +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/avro/__init__.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/avro/functions.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/column.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/conf.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/__init__.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/_typing.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/avro/__init__.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/avro/functions.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/catalog.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/client/__init__.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/client/artifact.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/client/reattach.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/client/retries.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/column.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/conf.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/conversion.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/datasource.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/expressions.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/functions/__init__.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/functions/partitioning.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/logging.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/observation.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/profiler.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/proto/__init__.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/proto/base_pb2.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/proto/base_pb2.pyi +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/proto/base_pb2_grpc.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/proto/catalog_pb2.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/proto/catalog_pb2.pyi +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/proto/commands_pb2.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/proto/commands_pb2.pyi +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/proto/common_pb2.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/proto/common_pb2.pyi +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/proto/example_plugins_pb2.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/proto/example_plugins_pb2.pyi +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/proto/expressions_pb2.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/proto/expressions_pb2.pyi +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/proto/ml_common_pb2.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/proto/ml_common_pb2.pyi +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/proto/ml_pb2.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/proto/ml_pb2.pyi +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/proto/pipelines_pb2.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/proto/pipelines_pb2.pyi +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/proto/relations_pb2.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/proto/relations_pb2.pyi +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/proto/types_pb2.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/proto/types_pb2.pyi +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/protobuf/__init__.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/protobuf/functions.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/readwriter.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/resource/__init__.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/resource/profile.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/shell/__init__.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/shell/progress.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/streaming/__init__.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/streaming/query.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/streaming/readwriter.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/streaming/worker/__init__.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/streaming/worker/foreach_batch_worker.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/streaming/worker/listener_worker.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/table_arg.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/tvf.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/types.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/udtf.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/utils.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/connect/window.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/context.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/datasource.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/datasource_internal.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/functions/partitioning.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/geo_utils.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/group.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/internal.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/merge.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/observation.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/pandas/__init__.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/pandas/_typing/protocols/__init__.pyi +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/pandas/_typing/protocols/frame.pyi +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/pandas/_typing/protocols/series.pyi +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/pandas/map_ops.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/plot/__init__.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/plot/core.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/plot/plotly.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/profiler.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/protobuf/__init__.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/protobuf/functions.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/readwriter.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/streaming/__init__.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/streaming/list_state_client.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/streaming/listener.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/streaming/map_state_client.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/streaming/proto/StateMessage_pb2.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/streaming/proto/StateMessage_pb2.pyi +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/streaming/proto/__init__.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/streaming/python_streaming_source_runner.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/streaming/query.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/streaming/readwriter.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/streaming/state.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/streaming/stateful_processor.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/streaming/stateful_processor_util.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/streaming/transform_with_state_driver_worker.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/streaming/value_state_client.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/tvf.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/tvf_argument.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/udtf.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/utils.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/variant_utils.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/sql/worker/__init__.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/statcounter.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/storagelevel.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/streaming/__init__.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/streaming/context.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/streaming/dstream.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/streaming/kinesis.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/streaming/listener.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/streaming/util.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/testing/__init__.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/testing/mllibutils.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/testing/objects.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/testing/streamingutils.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/traceback_utils.py +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark_client.egg-info/dependency_links.txt +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark_client.egg-info/requires.txt +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark_client.egg-info/top_level.txt +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/setup.cfg +0 -0
- {pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/setup.py +0 -0
|
@@ -266,12 +266,36 @@ class UpdateRequestHandler(socketserver.StreamRequestHandler):
|
|
|
266
266
|
auth_token = self.server.auth_token # type: ignore[attr-defined]
|
|
267
267
|
|
|
268
268
|
def poll(func: Callable[[], bool]) -> None:
|
|
269
|
+
poller = None
|
|
270
|
+
if os.name == "posix":
|
|
271
|
+
# On posix systems use poll to avoid problems with file descriptor
|
|
272
|
+
# numbers above 1024.
|
|
273
|
+
poller = select.poll()
|
|
274
|
+
poller.register(self.rfile, select.POLLIN)
|
|
275
|
+
|
|
269
276
|
while not self.server.server_shutdown: # type: ignore[attr-defined]
|
|
270
277
|
# Poll every 1 second for new data -- don't block in case of shutdown.
|
|
271
|
-
|
|
272
|
-
|
|
278
|
+
if poller is not None:
|
|
279
|
+
r = []
|
|
280
|
+
# Unlike select, poll timeout is in millis.
|
|
281
|
+
for fd, event in poller.poll(1000):
|
|
282
|
+
if event & (select.POLLIN | select.POLLHUP):
|
|
283
|
+
# Data can be read (for POLLHUP peer hang up, so reads will return
|
|
284
|
+
# 0 bytes, in which case we want to break out - this is consistent
|
|
285
|
+
# with how select behaves).
|
|
286
|
+
r.append(fd)
|
|
287
|
+
else:
|
|
288
|
+
# Could be POLLERR or POLLNVAL (select would raise in this case).
|
|
289
|
+
raise PySparkRuntimeError(f"Polling error - event {event} on fd {fd}")
|
|
290
|
+
else:
|
|
291
|
+
# If poll is not available, use select.
|
|
292
|
+
r = select.select([self.rfile.fileno()], [], [], 1)[0]
|
|
293
|
+
if self.rfile.fileno() in r and func():
|
|
273
294
|
break
|
|
274
295
|
|
|
296
|
+
if poller is not None:
|
|
297
|
+
poller.unregister(self.rfile)
|
|
298
|
+
|
|
275
299
|
def accum_updates() -> bool:
|
|
276
300
|
num_updates = read_int(self.rfile)
|
|
277
301
|
for _ in range(num_updates):
|
|
@@ -321,21 +345,36 @@ class AccumulatorTCPServer(socketserver.TCPServer):
|
|
|
321
345
|
self.server_close()
|
|
322
346
|
|
|
323
347
|
|
|
324
|
-
|
|
325
|
-
|
|
348
|
+
# socketserver.UnixStreamServer is not available on Windows yet
|
|
349
|
+
# (https://github.com/python/cpython/issues/77589).
|
|
350
|
+
if hasattr(socketserver, "UnixStreamServer"):
|
|
326
351
|
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
):
|
|
330
|
-
super().__init__(socket_path, RequestHandlerClass)
|
|
331
|
-
self.auth_token = None
|
|
352
|
+
class AccumulatorUnixServer(socketserver.UnixStreamServer):
|
|
353
|
+
server_shutdown = False
|
|
332
354
|
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
355
|
+
def __init__(
|
|
356
|
+
self, socket_path: str, RequestHandlerClass: Type[socketserver.BaseRequestHandler]
|
|
357
|
+
):
|
|
358
|
+
super().__init__(socket_path, RequestHandlerClass)
|
|
359
|
+
self.auth_token = None
|
|
360
|
+
|
|
361
|
+
def shutdown(self) -> None:
|
|
362
|
+
self.server_shutdown = True
|
|
363
|
+
super().shutdown()
|
|
364
|
+
self.server_close()
|
|
365
|
+
if os.path.exists(self.server_address): # type: ignore[arg-type]
|
|
366
|
+
os.remove(self.server_address) # type: ignore[arg-type]
|
|
367
|
+
|
|
368
|
+
else:
|
|
369
|
+
|
|
370
|
+
class AccumulatorUnixServer(socketserver.TCPServer): # type: ignore[no-redef]
|
|
371
|
+
def __init__(
|
|
372
|
+
self, socket_path: str, RequestHandlerClass: Type[socketserver.BaseRequestHandler]
|
|
373
|
+
):
|
|
374
|
+
raise NotImplementedError(
|
|
375
|
+
"Unix Domain Sockets are not supported on this platform. "
|
|
376
|
+
"Please disable it by setting spark.python.unix.domain.socket.enabled to false."
|
|
377
|
+
)
|
|
339
378
|
|
|
340
379
|
|
|
341
380
|
def _start_update_server(
|
|
@@ -24,19 +24,13 @@ import sys
|
|
|
24
24
|
import traceback
|
|
25
25
|
import time
|
|
26
26
|
import gc
|
|
27
|
+
import faulthandler
|
|
27
28
|
from errno import EINTR, EAGAIN
|
|
28
29
|
from socket import AF_INET, AF_INET6, SOCK_STREAM, SOMAXCONN
|
|
29
30
|
from signal import SIGHUP, SIGTERM, SIGCHLD, SIG_DFL, SIG_IGN, SIGINT
|
|
30
31
|
|
|
31
32
|
from pyspark.serializers import read_int, write_int, write_with_length, UTF8Deserializer
|
|
32
|
-
|
|
33
|
-
if len(sys.argv) > 1 and sys.argv[1].startswith("pyspark"):
|
|
34
|
-
import importlib
|
|
35
|
-
|
|
36
|
-
worker_module = importlib.import_module(sys.argv[1])
|
|
37
|
-
worker_main = worker_module.main
|
|
38
|
-
else:
|
|
39
|
-
from pyspark.worker import main as worker_main
|
|
33
|
+
from pyspark.errors import PySparkRuntimeError
|
|
40
34
|
|
|
41
35
|
|
|
42
36
|
def compute_real_exit_code(exit_code):
|
|
@@ -77,6 +71,19 @@ def worker(sock, authenticated):
|
|
|
77
71
|
return 1
|
|
78
72
|
|
|
79
73
|
exit_code = 0
|
|
74
|
+
|
|
75
|
+
# We don't know what could happen when we import the worker module. We have to
|
|
76
|
+
# guarantee that no thread is spawned before we fork, so we have to import the
|
|
77
|
+
# worker module after fork. For example, both pandas and pyarrow starts some
|
|
78
|
+
# threads when they are imported.
|
|
79
|
+
if len(sys.argv) > 1 and sys.argv[1].startswith("pyspark"):
|
|
80
|
+
import importlib
|
|
81
|
+
|
|
82
|
+
worker_module = importlib.import_module(sys.argv[1])
|
|
83
|
+
worker_main = worker_module.main
|
|
84
|
+
else:
|
|
85
|
+
from pyspark.worker import main as worker_main
|
|
86
|
+
|
|
80
87
|
try:
|
|
81
88
|
worker_main(infile, outfile)
|
|
82
89
|
except SystemExit as exc:
|
|
@@ -85,7 +92,19 @@ def worker(sock, authenticated):
|
|
|
85
92
|
try:
|
|
86
93
|
outfile.flush()
|
|
87
94
|
except Exception:
|
|
88
|
-
|
|
95
|
+
if os.environ.get("PYTHON_DAEMON_KILL_WORKER_ON_FLUSH_FAILURE", False):
|
|
96
|
+
faulthandler_log_path = os.environ.get("PYTHON_FAULTHANDLER_DIR", None)
|
|
97
|
+
if faulthandler_log_path:
|
|
98
|
+
faulthandler_log_path = os.path.join(faulthandler_log_path, str(os.getpid()))
|
|
99
|
+
with open(faulthandler_log_path, "w") as faulthandler_log_file:
|
|
100
|
+
faulthandler.dump_traceback(file=faulthandler_log_file)
|
|
101
|
+
raise
|
|
102
|
+
else:
|
|
103
|
+
print(
|
|
104
|
+
"PySpark daemon failed to flush the output to the worker process:\n"
|
|
105
|
+
+ traceback.format_exc(),
|
|
106
|
+
file=sys.stderr,
|
|
107
|
+
)
|
|
89
108
|
return exit_code
|
|
90
109
|
|
|
91
110
|
|
|
@@ -145,14 +164,31 @@ def manager():
|
|
|
145
164
|
|
|
146
165
|
# Initialization complete
|
|
147
166
|
try:
|
|
167
|
+
poller = None
|
|
168
|
+
if os.name == "posix":
|
|
169
|
+
# select.select has a known limit on the number of file descriptors
|
|
170
|
+
# it can handle. We use select.poll instead to avoid this limit.
|
|
171
|
+
poller = select.poll()
|
|
172
|
+
fd_reverse_map = {0: 0, listen_sock.fileno(): listen_sock}
|
|
173
|
+
poller.register(0, select.POLLIN)
|
|
174
|
+
poller.register(listen_sock, select.POLLIN)
|
|
175
|
+
|
|
148
176
|
while True:
|
|
149
|
-
|
|
177
|
+
if poller is not None:
|
|
178
|
+
ready_fds = []
|
|
179
|
+
# Unlike select, poll timeout is in millis.
|
|
180
|
+
for fd, event in poller.poll(1000):
|
|
181
|
+
if event & (select.POLLIN | select.POLLHUP):
|
|
182
|
+
# Data can be read (for POLLHUP peer hang up, so reads will return
|
|
183
|
+
# 0 bytes, in which case we want to break out - this is consistent
|
|
184
|
+
# with how select behaves).
|
|
185
|
+
ready_fds.append(fd_reverse_map[fd])
|
|
186
|
+
else:
|
|
187
|
+
# Could be POLLERR or POLLNVAL (select would raise in this case).
|
|
188
|
+
raise PySparkRuntimeError(f"Polling error - event {event} on fd {fd}")
|
|
189
|
+
else:
|
|
190
|
+
# If poll is not available, use select.
|
|
150
191
|
ready_fds = select.select([0, listen_sock], [], [], 1)[0]
|
|
151
|
-
except select.error as ex:
|
|
152
|
-
if ex[0] == EINTR:
|
|
153
|
-
continue
|
|
154
|
-
else:
|
|
155
|
-
raise
|
|
156
192
|
|
|
157
193
|
if 0 in ready_fds:
|
|
158
194
|
try:
|
|
@@ -190,6 +226,9 @@ def manager():
|
|
|
190
226
|
|
|
191
227
|
if pid == 0:
|
|
192
228
|
# in child process
|
|
229
|
+
if poller is not None:
|
|
230
|
+
poller.unregister(0)
|
|
231
|
+
poller.unregister(listen_sock)
|
|
193
232
|
listen_sock.close()
|
|
194
233
|
|
|
195
234
|
# It should close the standard input in the child process so that
|
|
@@ -238,6 +277,9 @@ def manager():
|
|
|
238
277
|
sock.close()
|
|
239
278
|
|
|
240
279
|
finally:
|
|
280
|
+
if poller is not None:
|
|
281
|
+
poller.unregister(0)
|
|
282
|
+
poller.unregister(listen_sock)
|
|
241
283
|
shutdown(1)
|
|
242
284
|
|
|
243
285
|
|
{pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/errors/error-conditions.json
RENAMED
|
@@ -14,11 +14,6 @@
|
|
|
14
14
|
"Arrow legacy IPC format is not supported in PySpark, please unset ARROW_PRE_0_15_IPC_FORMAT."
|
|
15
15
|
]
|
|
16
16
|
},
|
|
17
|
-
"ATTEMPT_ANALYSIS_IN_PIPELINE_QUERY_FUNCTION": {
|
|
18
|
-
"message": [
|
|
19
|
-
"Operations that trigger DataFrame analysis or execution are not allowed in pipeline query functions. Move code outside of the pipeline query function."
|
|
20
|
-
]
|
|
21
|
-
},
|
|
22
17
|
"ATTRIBUTE_NOT_CALLABLE": {
|
|
23
18
|
"message": [
|
|
24
19
|
"Attribute `<attr_name>` in provided object `<obj_name>` is not callable."
|
|
@@ -27,7 +22,8 @@
|
|
|
27
22
|
"ATTRIBUTE_NOT_SUPPORTED": {
|
|
28
23
|
"message": [
|
|
29
24
|
"Attribute `<attr_name>` is not supported."
|
|
30
|
-
]
|
|
25
|
+
],
|
|
26
|
+
"sqlState": "0A000"
|
|
31
27
|
},
|
|
32
28
|
"AXIS_LENGTH_MISMATCH": {
|
|
33
29
|
"message": [
|
|
@@ -107,22 +103,26 @@
|
|
|
107
103
|
"CANNOT_INFER_EMPTY_SCHEMA": {
|
|
108
104
|
"message": [
|
|
109
105
|
"Can not infer schema from an empty dataset."
|
|
110
|
-
]
|
|
106
|
+
],
|
|
107
|
+
"sqlState": "42K09"
|
|
111
108
|
},
|
|
112
109
|
"CANNOT_INFER_SCHEMA_FOR_TYPE": {
|
|
113
110
|
"message": [
|
|
114
111
|
"Can not infer schema for type: `<data_type>`."
|
|
115
|
-
]
|
|
112
|
+
],
|
|
113
|
+
"sqlState": "42K09"
|
|
116
114
|
},
|
|
117
115
|
"CANNOT_INFER_TYPE_FOR_FIELD": {
|
|
118
116
|
"message": [
|
|
119
117
|
"Unable to infer the type of the field `<field_name>`."
|
|
120
|
-
]
|
|
118
|
+
],
|
|
119
|
+
"sqlState": "42K09"
|
|
121
120
|
},
|
|
122
121
|
"CANNOT_MERGE_TYPE": {
|
|
123
122
|
"message": [
|
|
124
123
|
"Can not merge type `<data_type1>` and `<data_type2>`."
|
|
125
|
-
]
|
|
124
|
+
],
|
|
125
|
+
"sqlState": "42K09"
|
|
126
126
|
},
|
|
127
127
|
"CANNOT_OPEN_SOCKET": {
|
|
128
128
|
"message": [
|
|
@@ -162,7 +162,8 @@
|
|
|
162
162
|
"CLASSIC_OPERATION_NOT_SUPPORTED_ON_DF": {
|
|
163
163
|
"message": [
|
|
164
164
|
"Calling property or member '<member>' is not supported in PySpark Classic, please use Spark Connect instead."
|
|
165
|
-
]
|
|
165
|
+
],
|
|
166
|
+
"sqlState": "0A000"
|
|
166
167
|
},
|
|
167
168
|
"COLLATION_INVALID_PROVIDER": {
|
|
168
169
|
"message": [
|
|
@@ -532,7 +533,8 @@
|
|
|
532
533
|
"JVM_ATTRIBUTE_NOT_SUPPORTED": {
|
|
533
534
|
"message": [
|
|
534
535
|
"Attribute `<attr_name>` is not supported in Spark Connect as it depends on the JVM. If you need to use this attribute, do not use Spark Connect when creating your session. Visit https://spark.apache.org/docs/latest/sql-getting-started.html#starting-point-sparksession for creating regular Spark Session in detail."
|
|
535
|
-
]
|
|
536
|
+
],
|
|
537
|
+
"sqlState": "0A000"
|
|
536
538
|
},
|
|
537
539
|
"KEY_NOT_EXISTS": {
|
|
538
540
|
"message": [
|
|
@@ -607,137 +609,164 @@
|
|
|
607
609
|
"NOT_BOOL": {
|
|
608
610
|
"message": [
|
|
609
611
|
"Argument `<arg_name>` should be a bool, got <arg_type>."
|
|
610
|
-
]
|
|
612
|
+
],
|
|
613
|
+
"sqlState": "42K09"
|
|
611
614
|
},
|
|
612
615
|
"NOT_BOOL_OR_DICT_OR_FLOAT_OR_INT_OR_LIST_OR_STR_OR_TUPLE": {
|
|
613
616
|
"message": [
|
|
614
617
|
"Argument `<arg_name>` should be a bool, dict, float, int, str or tuple, got <arg_type>."
|
|
615
|
-
]
|
|
618
|
+
],
|
|
619
|
+
"sqlState": "42K09"
|
|
616
620
|
},
|
|
617
621
|
"NOT_BOOL_OR_DICT_OR_FLOAT_OR_INT_OR_STR": {
|
|
618
622
|
"message": [
|
|
619
623
|
"Argument `<arg_name>` should be a bool, dict, float, int or str, got <arg_type>."
|
|
620
|
-
]
|
|
624
|
+
],
|
|
625
|
+
"sqlState": "42K09"
|
|
621
626
|
},
|
|
622
627
|
"NOT_BOOL_OR_FLOAT_OR_INT": {
|
|
623
628
|
"message": [
|
|
624
629
|
"Argument `<arg_name>` should be a bool, float or int, got <arg_type>."
|
|
625
|
-
]
|
|
630
|
+
],
|
|
631
|
+
"sqlState": "42K09"
|
|
626
632
|
},
|
|
627
633
|
"NOT_BOOL_OR_FLOAT_OR_INT_OR_LIST_OR_NONE_OR_STR_OR_TUPLE": {
|
|
628
634
|
"message": [
|
|
629
635
|
"Argument `<arg_name>` should be a bool, float, int, list, None, str or tuple, got <arg_type>."
|
|
630
|
-
]
|
|
636
|
+
],
|
|
637
|
+
"sqlState": "42K09"
|
|
631
638
|
},
|
|
632
639
|
"NOT_BOOL_OR_FLOAT_OR_INT_OR_STR": {
|
|
633
640
|
"message": [
|
|
634
641
|
"Argument `<arg_name>` should be a bool, float, int or str, got <arg_type>."
|
|
635
|
-
]
|
|
642
|
+
],
|
|
643
|
+
"sqlState": "42K09"
|
|
636
644
|
},
|
|
637
645
|
"NOT_BOOL_OR_LIST": {
|
|
638
646
|
"message": [
|
|
639
647
|
"Argument `<arg_name>` should be a bool or list, got <arg_type>."
|
|
640
|
-
]
|
|
648
|
+
],
|
|
649
|
+
"sqlState": "42K09"
|
|
641
650
|
},
|
|
642
651
|
"NOT_BOOL_OR_STR": {
|
|
643
652
|
"message": [
|
|
644
653
|
"Argument `<arg_name>` should be a bool or str, got <arg_type>."
|
|
645
|
-
]
|
|
654
|
+
],
|
|
655
|
+
"sqlState": "42K09"
|
|
646
656
|
},
|
|
647
657
|
"NOT_CALLABLE": {
|
|
648
658
|
"message": [
|
|
649
659
|
"Argument `<arg_name>` should be a callable, got <arg_type>."
|
|
650
|
-
]
|
|
660
|
+
],
|
|
661
|
+
"sqlState": "42K09"
|
|
651
662
|
},
|
|
652
663
|
"NOT_COLUMN": {
|
|
653
664
|
"message": [
|
|
654
665
|
"Argument `<arg_name>` should be a Column, got <arg_type>."
|
|
655
|
-
]
|
|
666
|
+
],
|
|
667
|
+
"sqlState": "42K09"
|
|
656
668
|
},
|
|
657
669
|
"NOT_COLUMN_OR_DATATYPE_OR_STR": {
|
|
658
670
|
"message": [
|
|
659
671
|
"Argument `<arg_name>` should be a Column, str or DataType, but got <arg_type>."
|
|
660
|
-
]
|
|
672
|
+
],
|
|
673
|
+
"sqlState": "42K09"
|
|
661
674
|
},
|
|
662
675
|
"NOT_COLUMN_OR_FLOAT_OR_INT_OR_LIST_OR_STR": {
|
|
663
676
|
"message": [
|
|
664
677
|
"Argument `<arg_name>` should be a Column, float, integer, list or string, got <arg_type>."
|
|
665
|
-
]
|
|
678
|
+
],
|
|
679
|
+
"sqlState": "42K09"
|
|
666
680
|
},
|
|
667
681
|
"NOT_COLUMN_OR_INT": {
|
|
668
682
|
"message": [
|
|
669
683
|
"Argument `<arg_name>` should be a Column or int, got <arg_type>."
|
|
670
|
-
]
|
|
684
|
+
],
|
|
685
|
+
"sqlState": "42K09"
|
|
671
686
|
},
|
|
672
687
|
"NOT_COLUMN_OR_INT_OR_LIST_OR_STR_OR_TUPLE": {
|
|
673
688
|
"message": [
|
|
674
689
|
"Argument `<arg_name>` should be a Column, int, list, str or tuple, got <arg_type>."
|
|
675
|
-
]
|
|
690
|
+
],
|
|
691
|
+
"sqlState": "42K09"
|
|
676
692
|
},
|
|
677
693
|
"NOT_COLUMN_OR_INT_OR_STR": {
|
|
678
694
|
"message": [
|
|
679
695
|
"Argument `<arg_name>` should be a Column, int or str, got <arg_type>."
|
|
680
|
-
]
|
|
696
|
+
],
|
|
697
|
+
"sqlState": "42K09"
|
|
681
698
|
},
|
|
682
699
|
"NOT_COLUMN_OR_LIST_OR_STR": {
|
|
683
700
|
"message": [
|
|
684
701
|
"Argument `<arg_name>` should be a Column, list or str, got <arg_type>."
|
|
685
|
-
]
|
|
702
|
+
],
|
|
703
|
+
"sqlState": "42K09"
|
|
686
704
|
},
|
|
687
705
|
"NOT_COLUMN_OR_STR": {
|
|
688
706
|
"message": [
|
|
689
707
|
"Argument `<arg_name>` should be a Column or str, got <arg_type>."
|
|
690
|
-
]
|
|
708
|
+
],
|
|
709
|
+
"sqlState": "42K09"
|
|
691
710
|
},
|
|
692
711
|
"NOT_COLUMN_OR_STR_OR_STRUCT": {
|
|
693
712
|
"message": [
|
|
694
713
|
"Argument `<arg_name>` should be a StructType, Column or str, got <arg_type>."
|
|
695
|
-
]
|
|
714
|
+
],
|
|
715
|
+
"sqlState": "42K09"
|
|
696
716
|
},
|
|
697
717
|
"NOT_DATAFRAME": {
|
|
698
718
|
"message": [
|
|
699
719
|
"Argument `<arg_name>` should be a DataFrame, got <arg_type>."
|
|
700
|
-
]
|
|
720
|
+
],
|
|
721
|
+
"sqlState": "42K09"
|
|
701
722
|
},
|
|
702
723
|
"NOT_DATATYPE_OR_STR": {
|
|
703
724
|
"message": [
|
|
704
725
|
"Argument `<arg_name>` should be a DataType or str, got <arg_type>."
|
|
705
|
-
]
|
|
726
|
+
],
|
|
727
|
+
"sqlState": "42K09"
|
|
706
728
|
},
|
|
707
729
|
"NOT_DICT": {
|
|
708
730
|
"message": [
|
|
709
731
|
"Argument `<arg_name>` should be a dict, got <arg_type>."
|
|
710
|
-
]
|
|
732
|
+
],
|
|
733
|
+
"sqlState": "42K09"
|
|
711
734
|
},
|
|
712
735
|
"NOT_EXPRESSION": {
|
|
713
736
|
"message": [
|
|
714
737
|
"Argument `<arg_name>` should be an Expression, got <arg_type>."
|
|
715
|
-
]
|
|
738
|
+
],
|
|
739
|
+
"sqlState": "42K09"
|
|
716
740
|
},
|
|
717
741
|
"NOT_FLOAT_OR_INT": {
|
|
718
742
|
"message": [
|
|
719
743
|
"Argument `<arg_name>` should be a float or int, got <arg_type>."
|
|
720
|
-
]
|
|
744
|
+
],
|
|
745
|
+
"sqlState": "42K09"
|
|
721
746
|
},
|
|
722
747
|
"NOT_FLOAT_OR_INT_OR_LIST_OR_STR": {
|
|
723
748
|
"message": [
|
|
724
749
|
"Argument `<arg_name>` should be a float, int, list or str, got <arg_type>."
|
|
725
|
-
]
|
|
750
|
+
],
|
|
751
|
+
"sqlState": "42K09"
|
|
726
752
|
},
|
|
727
753
|
"NOT_IMPLEMENTED": {
|
|
728
754
|
"message": [
|
|
729
755
|
"<feature> is not implemented."
|
|
730
|
-
]
|
|
756
|
+
],
|
|
757
|
+
"sqlState": "0A000"
|
|
731
758
|
},
|
|
732
759
|
"NOT_INT": {
|
|
733
760
|
"message": [
|
|
734
761
|
"Argument `<arg_name>` should be an int, got <arg_type>."
|
|
735
|
-
]
|
|
762
|
+
],
|
|
763
|
+
"sqlState": "42K09"
|
|
736
764
|
},
|
|
737
765
|
"NOT_INT_OR_SLICE_OR_STR": {
|
|
738
766
|
"message": [
|
|
739
767
|
"Argument `<arg_name>` should be an int, slice or str, got <arg_type>."
|
|
740
|
-
]
|
|
768
|
+
],
|
|
769
|
+
"sqlState": "42K09"
|
|
741
770
|
},
|
|
742
771
|
"NOT_IN_BARRIER_STAGE": {
|
|
743
772
|
"message": [
|
|
@@ -747,87 +776,104 @@
|
|
|
747
776
|
"NOT_ITERABLE": {
|
|
748
777
|
"message": [
|
|
749
778
|
"<objectName> is not iterable."
|
|
750
|
-
]
|
|
779
|
+
],
|
|
780
|
+
"sqlState": "42K09"
|
|
751
781
|
},
|
|
752
782
|
"NOT_LIST": {
|
|
753
783
|
"message": [
|
|
754
784
|
"Argument `<arg_name>` should be a list, got <arg_type>."
|
|
755
|
-
]
|
|
785
|
+
],
|
|
786
|
+
"sqlState": "42K09"
|
|
756
787
|
},
|
|
757
788
|
"NOT_LIST_OF_COLUMN": {
|
|
758
789
|
"message": [
|
|
759
790
|
"Argument `<arg_name>` should be a list[Column]."
|
|
760
|
-
]
|
|
791
|
+
],
|
|
792
|
+
"sqlState": "42K09"
|
|
761
793
|
},
|
|
762
794
|
"NOT_LIST_OF_COLUMN_OR_STR": {
|
|
763
795
|
"message": [
|
|
764
796
|
"Argument `<arg_name>` should be a list[Column]."
|
|
765
|
-
]
|
|
797
|
+
],
|
|
798
|
+
"sqlState": "42K09"
|
|
766
799
|
},
|
|
767
800
|
"NOT_LIST_OF_FLOAT_OR_INT": {
|
|
768
801
|
"message": [
|
|
769
802
|
"Argument `<arg_name>` should be a list[float, int], got <arg_type>."
|
|
770
|
-
]
|
|
803
|
+
],
|
|
804
|
+
"sqlState": "42K09"
|
|
771
805
|
},
|
|
772
806
|
"NOT_LIST_OF_STR": {
|
|
773
807
|
"message": [
|
|
774
808
|
"Argument `<arg_name>` should be a list[str], got <arg_type>."
|
|
775
|
-
]
|
|
809
|
+
],
|
|
810
|
+
"sqlState": "42K09"
|
|
776
811
|
},
|
|
777
812
|
"NOT_LIST_OR_NONE_OR_STRUCT": {
|
|
778
813
|
"message": [
|
|
779
814
|
"Argument `<arg_name>` should be a list, None or StructType, got <arg_type>."
|
|
780
|
-
]
|
|
815
|
+
],
|
|
816
|
+
"sqlState": "42K09"
|
|
781
817
|
},
|
|
782
818
|
"NOT_LIST_OR_STR_OR_TUPLE": {
|
|
783
819
|
"message": [
|
|
784
820
|
"Argument `<arg_name>` should be a list, str or tuple, got <arg_type>."
|
|
785
|
-
]
|
|
821
|
+
],
|
|
822
|
+
"sqlState": "42K09"
|
|
786
823
|
},
|
|
787
824
|
"NOT_LIST_OR_TUPLE": {
|
|
788
825
|
"message": [
|
|
789
826
|
"Argument `<arg_name>` should be a list or tuple, got <arg_type>."
|
|
790
|
-
]
|
|
827
|
+
],
|
|
828
|
+
"sqlState": "42K09"
|
|
791
829
|
},
|
|
792
830
|
"NOT_NUMERIC_COLUMNS": {
|
|
793
831
|
"message": [
|
|
794
832
|
"Numeric aggregation function can only be applied on numeric columns, got <invalid_columns>."
|
|
795
|
-
]
|
|
833
|
+
],
|
|
834
|
+
"sqlState": "42K09"
|
|
796
835
|
},
|
|
797
836
|
"NOT_OBSERVATION_OR_STR": {
|
|
798
837
|
"message": [
|
|
799
838
|
"Argument `<arg_name>` should be an Observation or str, got <arg_type>."
|
|
800
|
-
]
|
|
839
|
+
],
|
|
840
|
+
"sqlState": "42K09"
|
|
801
841
|
},
|
|
802
842
|
"NOT_SAME_TYPE": {
|
|
803
843
|
"message": [
|
|
804
844
|
"Argument `<arg_name1>` and `<arg_name2>` should be the same type, got <arg_type1> and <arg_type2>."
|
|
805
|
-
]
|
|
845
|
+
],
|
|
846
|
+
"sqlState": "42K09"
|
|
806
847
|
},
|
|
807
848
|
"NOT_STR": {
|
|
808
849
|
"message": [
|
|
809
850
|
"Argument `<arg_name>` should be a str, got <arg_type>."
|
|
810
|
-
]
|
|
851
|
+
],
|
|
852
|
+
"sqlState": "42K09"
|
|
811
853
|
},
|
|
812
854
|
"NOT_STRUCT": {
|
|
813
855
|
"message": [
|
|
814
856
|
"Argument `<arg_name>` should be a struct type, got <arg_type>."
|
|
815
|
-
]
|
|
857
|
+
],
|
|
858
|
+
"sqlState": "42K09"
|
|
816
859
|
},
|
|
817
860
|
"NOT_STR_OR_LIST_OF_RDD": {
|
|
818
861
|
"message": [
|
|
819
862
|
"Argument `<arg_name>` should be a str or list[RDD], got <arg_type>."
|
|
820
|
-
]
|
|
863
|
+
],
|
|
864
|
+
"sqlState": "42K09"
|
|
821
865
|
},
|
|
822
866
|
"NOT_STR_OR_STRUCT": {
|
|
823
867
|
"message": [
|
|
824
868
|
"Argument `<arg_name>` should be a str or struct type, got <arg_type>."
|
|
825
|
-
]
|
|
869
|
+
],
|
|
870
|
+
"sqlState": "42K09"
|
|
826
871
|
},
|
|
827
872
|
"NOT_WINDOWSPEC": {
|
|
828
873
|
"message": [
|
|
829
874
|
"Argument `<arg_name>` should be a WindowSpec, got <arg_type>."
|
|
830
|
-
]
|
|
875
|
+
],
|
|
876
|
+
"sqlState": "42K09"
|
|
831
877
|
},
|
|
832
878
|
"NO_ACTIVE_EXCEPTION": {
|
|
833
879
|
"message": [
|
|
@@ -837,12 +883,14 @@
|
|
|
837
883
|
"NO_ACTIVE_OR_DEFAULT_SESSION": {
|
|
838
884
|
"message": [
|
|
839
885
|
"No active or default Spark session found. Please create a new Spark session before running the code."
|
|
840
|
-
]
|
|
886
|
+
],
|
|
887
|
+
"sqlState": "08003"
|
|
841
888
|
},
|
|
842
889
|
"NO_ACTIVE_SESSION": {
|
|
843
890
|
"message": [
|
|
844
891
|
"No active Spark session found. Please create a new Spark session before running the code."
|
|
845
|
-
]
|
|
892
|
+
],
|
|
893
|
+
"sqlState": "08003"
|
|
846
894
|
},
|
|
847
895
|
"NO_OBSERVE_BEFORE_GET": {
|
|
848
896
|
"message": [
|
|
@@ -867,7 +915,8 @@
|
|
|
867
915
|
"ONLY_SUPPORTED_WITH_SPARK_CONNECT": {
|
|
868
916
|
"message": [
|
|
869
917
|
"<feature> is only supported with Spark Connect; however, the current Spark session does not use Spark Connect."
|
|
870
|
-
]
|
|
918
|
+
],
|
|
919
|
+
"sqlState": "0A000"
|
|
871
920
|
},
|
|
872
921
|
"PACKAGE_NOT_INSTALLED": {
|
|
873
922
|
"message": [
|
|
@@ -908,7 +957,7 @@
|
|
|
908
957
|
},
|
|
909
958
|
"PIPELINE_SPEC_FILE_NOT_FOUND": {
|
|
910
959
|
"message": [
|
|
911
|
-
"No pipeline.yaml or pipeline.yml file provided in arguments or found in directory `<dir_path>` or readable ancestor directories."
|
|
960
|
+
"No spark-pipeline.yaml or spark-pipeline.yml file provided in arguments or found in directory `<dir_path>` or readable ancestor directories."
|
|
912
961
|
]
|
|
913
962
|
},
|
|
914
963
|
"PIPELINE_SPEC_INVALID_GLOB_PATTERN": {
|
|
@@ -946,6 +995,11 @@
|
|
|
946
995
|
"Argument <arg_name> must be a numerical column for plotting, got <arg_type>."
|
|
947
996
|
]
|
|
948
997
|
},
|
|
998
|
+
"PROTOCOL_ERROR": {
|
|
999
|
+
"message": [
|
|
1000
|
+
"<failure>. This usually indicates that the message does not conform to the protocol."
|
|
1001
|
+
]
|
|
1002
|
+
},
|
|
949
1003
|
"PYTHON_HASH_SEED_NOT_SET": {
|
|
950
1004
|
"message": [
|
|
951
1005
|
"Randomness of hash of string should be disabled via PYTHONHASHSEED."
|
|
@@ -1030,7 +1084,8 @@
|
|
|
1030
1084
|
"SESSION_ALREADY_EXIST": {
|
|
1031
1085
|
"message": [
|
|
1032
1086
|
"Cannot start a remote Spark session because there is a regular Spark session already running."
|
|
1033
|
-
]
|
|
1087
|
+
],
|
|
1088
|
+
"sqlState": "08002"
|
|
1034
1089
|
},
|
|
1035
1090
|
"SESSION_MUTATION_IN_DECLARATIVE_PIPELINE": {
|
|
1036
1091
|
"message": [
|
|
@@ -110,7 +110,7 @@ class PySparkException(Exception):
|
|
|
110
110
|
"""
|
|
111
111
|
Returns an SQLSTATE as a string.
|
|
112
112
|
|
|
113
|
-
|
|
113
|
+
If the errorClass has no corresponding SQLSTATE, it returns None.
|
|
114
114
|
|
|
115
115
|
.. versionadded:: 3.4.0
|
|
116
116
|
|
|
@@ -121,7 +121,7 @@ class PySparkException(Exception):
|
|
|
121
121
|
:meth:`PySparkException.getMessageParameters`
|
|
122
122
|
:meth:`PySparkException.getQueryContext`
|
|
123
123
|
"""
|
|
124
|
-
return
|
|
124
|
+
return self._error_reader.get_sqlstate(self._errorClass)
|
|
125
125
|
|
|
126
126
|
def getMessage(self) -> str:
|
|
127
127
|
"""
|
{pyspark_client-4.1.0.dev4 → pyspark_client-4.2.0.dev1}/pyspark/errors/exceptions/connect.py
RENAMED
|
@@ -99,6 +99,9 @@ def _convert_exception(
|
|
|
99
99
|
if resp and resp.HasField("root_error_idx"):
|
|
100
100
|
root_error = resp.errors[resp.root_error_idx]
|
|
101
101
|
if hasattr(root_error, "spark_throwable"):
|
|
102
|
+
# Extract errorClass from FetchErrorDetailsResponse if not in metadata
|
|
103
|
+
if error_class is None and root_error.spark_throwable.HasField("error_class"):
|
|
104
|
+
error_class = root_error.spark_throwable.error_class
|
|
102
105
|
message_parameters = dict(root_error.spark_throwable.message_parameters)
|
|
103
106
|
contexts = [
|
|
104
107
|
SQLQueryContext(c)
|