pyspark-connect 4.0.0.dev1__tar.gz → 4.0.0.dev2__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.
Files changed (331) hide show
  1. {pyspark_connect-4.0.0.dev1/pyspark_connect.egg-info → pyspark_connect-4.0.0.dev2}/PKG-INFO +1 -1
  2. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/accumulators.py +4 -4
  3. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/conf.py +2 -2
  4. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/daemon.py +1 -1
  5. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/errors/error-conditions.json +10 -0
  6. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/errors/exceptions/base.py +38 -15
  7. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/errors/exceptions/captured.py +41 -17
  8. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/errors/exceptions/connect.py +142 -74
  9. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/errors/utils.py +146 -49
  10. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/java_gateway.py +2 -2
  11. pyspark_connect-4.0.0.dev2/pyspark/logger/__init__.py +27 -0
  12. pyspark_connect-4.0.0.dev2/pyspark/logger/logger.py +196 -0
  13. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/ml/classification.py +19 -10
  14. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/ml/param/__init__.py +2 -2
  15. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/ml/pipeline.py +11 -8
  16. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/ml/torch/log_communication.py +1 -1
  17. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/ml/util.py +18 -9
  18. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/base.py +2 -2
  19. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/config.py +2 -1
  20. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/data_type_ops/base.py +3 -8
  21. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/data_type_ops/boolean_ops.py +5 -11
  22. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/data_type_ops/date_ops.py +5 -10
  23. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/data_type_ops/num_ops.py +19 -31
  24. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/datetimes.py +2 -2
  25. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/frame.py +15 -28
  26. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/generic.py +1 -1
  27. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/indexes/base.py +7 -0
  28. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/indexes/datetimes.py +1 -1
  29. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/indexes/multi.py +6 -5
  30. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/indexing.py +15 -16
  31. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/internal.py +23 -35
  32. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/namespace.py +94 -13
  33. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/plot/core.py +158 -188
  34. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/plot/matplotlib.py +16 -20
  35. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/plot/plotly.py +52 -58
  36. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/resample.py +11 -24
  37. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/series.py +13 -11
  38. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/spark/accessors.py +5 -9
  39. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/spark/functions.py +53 -1
  40. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/strings.py +4 -4
  41. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/typedef/typehints.py +3 -3
  42. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/utils.py +6 -7
  43. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/profiler.py +2 -2
  44. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/__init__.py +2 -0
  45. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/_typing.pyi +0 -1
  46. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/avro/functions.py +10 -10
  47. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/catalog.py +4 -2
  48. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/column.py +2 -2
  49. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/conf.py +2 -2
  50. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/avro/functions.py +10 -10
  51. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/catalog.py +3 -2
  52. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/client/artifact.py +8 -8
  53. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/client/core.py +172 -111
  54. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/client/logging.py +2 -1
  55. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/client/reattach.py +33 -21
  56. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/client/retries.py +3 -3
  57. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/column.py +69 -75
  58. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/conf.py +4 -4
  59. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/conversion.py +6 -6
  60. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/dataframe.py +331 -221
  61. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/expressions.py +71 -50
  62. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/functions/builtin.py +179 -140
  63. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/functions/partitioning.py +2 -2
  64. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/group.py +31 -19
  65. pyspark_connect-4.0.0.dev2/pyspark/sql/connect/merge.py +253 -0
  66. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/observation.py +8 -8
  67. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/plan.py +47 -16
  68. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/proto/base_pb2.pyi +1 -1
  69. pyspark_connect-4.0.0.dev2/pyspark/sql/connect/proto/commands_pb2.py +174 -0
  70. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/proto/commands_pb2.pyi +107 -0
  71. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/proto/common_pb2.py +5 -1
  72. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/proto/common_pb2.pyi +51 -0
  73. pyspark_connect-4.0.0.dev2/pyspark/sql/connect/proto/expressions_pb2.py +123 -0
  74. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/proto/expressions_pb2.pyi +182 -0
  75. pyspark_connect-4.0.0.dev2/pyspark/sql/connect/proto/relations_pb2.py +223 -0
  76. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/proto/relations_pb2.pyi +68 -2
  77. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/proto/types_pb2.py +39 -39
  78. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/proto/types_pb2.pyi +4 -7
  79. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/readwriter.py +80 -30
  80. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/session.py +135 -135
  81. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/streaming/query.py +13 -12
  82. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/streaming/readwriter.py +62 -34
  83. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/types.py +15 -14
  84. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/udf.py +10 -10
  85. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/udtf.py +10 -2
  86. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/utils.py +8 -8
  87. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/window.py +39 -115
  88. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/context.py +17 -6
  89. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/dataframe.py +157 -32
  90. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/datasource.py +51 -44
  91. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/functions/builtin.py +1278 -633
  92. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/functions/partitioning.py +4 -2
  93. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/group.py +5 -3
  94. pyspark_connect-4.0.0.dev2/pyspark/sql/merge.py +253 -0
  95. pyspark_connect-4.0.0.dev2/pyspark/sql/metrics.py +287 -0
  96. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/observation.py +8 -10
  97. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/pandas/_typing/__init__.pyi +1 -0
  98. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/pandas/conversion.py +115 -13
  99. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/pandas/functions.py +16 -14
  100. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/pandas/group_ops.py +178 -18
  101. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/pandas/map_ops.py +2 -2
  102. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/pandas/serializers.py +85 -11
  103. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/pandas/typehints.py +6 -6
  104. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/pandas/types.py +273 -22
  105. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/pandas/utils.py +10 -10
  106. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/profiler.py +122 -7
  107. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/readwriter.py +70 -23
  108. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/session.py +116 -71
  109. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/sql_formatter.py +6 -5
  110. pyspark_connect-4.0.0.dev2/pyspark/sql/streaming/StateMessage_pb2.py +73 -0
  111. pyspark_connect-4.0.0.dev2/pyspark/sql/streaming/StateMessage_pb2.pyi +179 -0
  112. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/streaming/__init__.py +4 -0
  113. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/streaming/listener.py +152 -91
  114. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/streaming/python_streaming_source_runner.py +9 -10
  115. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/streaming/query.py +15 -12
  116. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/streaming/readwriter.py +103 -42
  117. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/streaming/state.py +22 -22
  118. pyspark_connect-4.0.0.dev2/pyspark/sql/streaming/stateful_processor.py +168 -0
  119. pyspark_connect-4.0.0.dev2/pyspark/sql/streaming/stateful_processor_api_client.py +170 -0
  120. pyspark_connect-4.0.0.dev2/pyspark/sql/streaming/value_state_client.py +105 -0
  121. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/types.py +200 -159
  122. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/udf.py +47 -52
  123. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/udtf.py +23 -19
  124. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/utils.py +50 -85
  125. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/variant_utils.py +250 -22
  126. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/window.py +33 -104
  127. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/worker/commit_data_source_write.py +5 -12
  128. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/worker/create_data_source.py +12 -12
  129. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/worker/plan_data_source_read.py +94 -41
  130. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/worker/python_streaming_sink_runner.py +10 -10
  131. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/worker/write_into_data_source.py +26 -13
  132. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/taskcontext.py +8 -8
  133. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/testing/connectutils.py +9 -0
  134. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/testing/pandasutils.py +40 -40
  135. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/testing/sqlutils.py +23 -0
  136. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/testing/utils.py +36 -41
  137. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/util.py +9 -11
  138. pyspark_connect-4.0.0.dev2/pyspark/version.py +1 -0
  139. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/worker.py +134 -70
  140. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/worker_util.py +2 -2
  141. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2/pyspark_connect.egg-info}/PKG-INFO +1 -1
  142. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark_connect.egg-info/SOURCES.txt +10 -0
  143. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/setup.py +3 -0
  144. pyspark_connect-4.0.0.dev1/pyspark/sql/connect/proto/commands_pb2.py +0 -172
  145. pyspark_connect-4.0.0.dev1/pyspark/sql/connect/proto/expressions_pb2.py +0 -112
  146. pyspark_connect-4.0.0.dev1/pyspark/sql/connect/proto/relations_pb2.py +0 -218
  147. pyspark_connect-4.0.0.dev1/pyspark/version.py +0 -1
  148. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/MANIFEST.in +0 -0
  149. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/README.md +0 -0
  150. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/__init__.py +0 -0
  151. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/_globals.py +0 -0
  152. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/_typing.pyi +0 -0
  153. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/cloudpickle/__init__.py +0 -0
  154. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/cloudpickle/cloudpickle.py +0 -0
  155. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/cloudpickle/cloudpickle_fast.py +0 -0
  156. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/cloudpickle/compat.py +0 -0
  157. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/errors/__init__.py +0 -0
  158. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/errors/error_classes.py +0 -0
  159. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/errors/exceptions/__init__.py +0 -0
  160. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/errors_doc_gen.py +0 -0
  161. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/find_spark_home.py +0 -0
  162. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/install.py +0 -0
  163. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/instrumentation_utils.py +0 -0
  164. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/join.py +0 -0
  165. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/loose_version.py +0 -0
  166. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/ml/__init__.py +0 -0
  167. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/ml/_typing.pyi +0 -0
  168. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/ml/base.py +0 -0
  169. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/ml/clustering.py +0 -0
  170. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/ml/common.py +0 -0
  171. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/ml/connect/__init__.py +0 -0
  172. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/ml/connect/base.py +0 -0
  173. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/ml/connect/classification.py +0 -0
  174. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/ml/connect/evaluation.py +0 -0
  175. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/ml/connect/feature.py +0 -0
  176. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/ml/connect/functions.py +0 -0
  177. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/ml/connect/io_utils.py +0 -0
  178. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/ml/connect/pipeline.py +0 -0
  179. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/ml/connect/summarizer.py +0 -0
  180. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/ml/connect/tuning.py +0 -0
  181. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/ml/connect/util.py +0 -0
  182. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/ml/deepspeed/__init__.py +0 -0
  183. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/ml/deepspeed/deepspeed_distributor.py +0 -0
  184. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/ml/dl_util.py +0 -0
  185. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/ml/evaluation.py +0 -0
  186. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/ml/feature.py +0 -0
  187. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/ml/fpm.py +0 -0
  188. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/ml/functions.py +0 -0
  189. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/ml/image.py +0 -0
  190. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/ml/linalg/__init__.py +0 -0
  191. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/ml/model_cache.py +0 -0
  192. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/ml/param/_shared_params_code_gen.py +0 -0
  193. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/ml/param/shared.py +0 -0
  194. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/ml/recommendation.py +0 -0
  195. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/ml/regression.py +0 -0
  196. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/ml/stat.py +0 -0
  197. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/ml/torch/__init__.py +0 -0
  198. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/ml/torch/data.py +0 -0
  199. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/ml/torch/distributor.py +0 -0
  200. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/ml/torch/torch_run_process_wrapper.py +0 -0
  201. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/ml/tree.py +0 -0
  202. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/ml/tuning.py +0 -0
  203. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/ml/wrapper.py +0 -0
  204. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/mllib/__init__.py +0 -0
  205. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/mllib/_typing.pyi +0 -0
  206. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/mllib/classification.py +0 -0
  207. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/mllib/clustering.py +0 -0
  208. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/mllib/common.py +0 -0
  209. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/mllib/evaluation.py +0 -0
  210. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/mllib/feature.py +0 -0
  211. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/mllib/fpm.py +0 -0
  212. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/mllib/linalg/__init__.py +0 -0
  213. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/mllib/linalg/distributed.py +0 -0
  214. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/mllib/random.py +0 -0
  215. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/mllib/recommendation.py +0 -0
  216. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/mllib/regression.py +0 -0
  217. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/mllib/stat/KernelDensity.py +0 -0
  218. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/mllib/stat/__init__.py +0 -0
  219. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/mllib/stat/_statistics.py +0 -0
  220. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/mllib/stat/distribution.py +0 -0
  221. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/mllib/stat/test.py +0 -0
  222. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/mllib/tree.py +0 -0
  223. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/mllib/util.py +0 -0
  224. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/__init__.py +0 -0
  225. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/_typing.py +0 -0
  226. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/accessors.py +0 -0
  227. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/categorical.py +0 -0
  228. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/correlation.py +0 -0
  229. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/data_type_ops/__init__.py +0 -0
  230. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/data_type_ops/binary_ops.py +0 -0
  231. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/data_type_ops/categorical_ops.py +0 -0
  232. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/data_type_ops/complex_ops.py +0 -0
  233. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/data_type_ops/datetime_ops.py +0 -0
  234. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/data_type_ops/null_ops.py +0 -0
  235. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/data_type_ops/string_ops.py +0 -0
  236. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/data_type_ops/timedelta_ops.py +0 -0
  237. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/data_type_ops/udt_ops.py +0 -0
  238. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/exceptions.py +0 -0
  239. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/extensions.py +0 -0
  240. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/groupby.py +0 -0
  241. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/indexes/__init__.py +0 -0
  242. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/indexes/category.py +0 -0
  243. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/indexes/timedelta.py +0 -0
  244. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/missing/__init__.py +0 -0
  245. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/missing/common.py +0 -0
  246. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/missing/frame.py +0 -0
  247. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/missing/general_functions.py +0 -0
  248. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/missing/groupby.py +0 -0
  249. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/missing/indexes.py +0 -0
  250. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/missing/resample.py +0 -0
  251. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/missing/scalars.py +0 -0
  252. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/missing/series.py +0 -0
  253. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/missing/window.py +0 -0
  254. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/mlflow.py +0 -0
  255. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/numpy_compat.py +0 -0
  256. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/plot/__init__.py +0 -0
  257. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/spark/__init__.py +0 -0
  258. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/spark/utils.py +0 -0
  259. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/sql_formatter.py +0 -0
  260. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/sql_processor.py +0 -0
  261. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/supported_api_gen.py +0 -0
  262. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/testing.py +0 -0
  263. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/typedef/__init__.py +0 -0
  264. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/usage_logging/__init__.py +0 -0
  265. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/usage_logging/usage_logger.py +0 -0
  266. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/pandas/window.py +0 -0
  267. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/py.typed +0 -0
  268. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/rddsampler.py +0 -0
  269. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/resource/__init__.py +0 -0
  270. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/resource/information.py +0 -0
  271. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/resource/profile.py +0 -0
  272. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/resource/requests.py +0 -0
  273. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/resultiterable.py +0 -0
  274. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/serializers.py +0 -0
  275. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/shell.py +0 -0
  276. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/shuffle.py +0 -0
  277. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/avro/__init__.py +0 -0
  278. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/__init__.py +0 -0
  279. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/_typing.py +0 -0
  280. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/avro/__init__.py +0 -0
  281. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/client/__init__.py +0 -0
  282. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/datasource.py +0 -0
  283. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/functions/__init__.py +0 -0
  284. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/profiler.py +0 -0
  285. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/proto/__init__.py +0 -0
  286. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/proto/base_pb2.py +0 -0
  287. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/proto/base_pb2_grpc.py +0 -0
  288. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/proto/catalog_pb2.py +0 -0
  289. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/proto/catalog_pb2.pyi +0 -0
  290. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/proto/example_plugins_pb2.py +0 -0
  291. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/proto/example_plugins_pb2.pyi +0 -0
  292. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/protobuf/__init__.py +0 -0
  293. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/protobuf/functions.py +0 -0
  294. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/resource/__init__.py +0 -0
  295. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/resource/profile.py +0 -0
  296. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/shell/__init__.py +0 -0
  297. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/shell/progress.py +0 -0
  298. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/sql_formatter.py +0 -0
  299. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/streaming/__init__.py +0 -0
  300. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/streaming/worker/__init__.py +0 -0
  301. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/streaming/worker/foreach_batch_worker.py +0 -0
  302. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/connect/streaming/worker/listener_worker.py +0 -0
  303. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/datasource_internal.py +0 -0
  304. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/functions/__init__.py +0 -0
  305. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/pandas/__init__.py +0 -0
  306. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/pandas/_typing/protocols/__init__.pyi +0 -0
  307. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/pandas/_typing/protocols/frame.pyi +0 -0
  308. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/pandas/_typing/protocols/series.pyi +0 -0
  309. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/pandas/functions.pyi +0 -0
  310. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/protobuf/__init__.py +0 -0
  311. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/protobuf/functions.py +0 -0
  312. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/worker/__init__.py +0 -0
  313. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/worker/analyze_udtf.py +0 -0
  314. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/sql/worker/lookup_data_sources.py +0 -0
  315. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/statcounter.py +0 -0
  316. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/storagelevel.py +0 -0
  317. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/streaming/__init__.py +0 -0
  318. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/streaming/context.py +0 -0
  319. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/streaming/dstream.py +0 -0
  320. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/streaming/kinesis.py +0 -0
  321. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/streaming/listener.py +0 -0
  322. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/streaming/util.py +0 -0
  323. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/testing/__init__.py +0 -0
  324. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/testing/mllibutils.py +0 -0
  325. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/testing/mlutils.py +0 -0
  326. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/testing/streamingutils.py +0 -0
  327. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark/traceback_utils.py +0 -0
  328. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark_connect.egg-info/dependency_links.txt +0 -0
  329. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark_connect.egg-info/requires.txt +0 -0
  330. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/pyspark_connect.egg-info/top_level.txt +0 -0
  331. {pyspark_connect-4.0.0.dev1 → pyspark_connect-4.0.0.dev2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyspark-connect
3
- Version: 4.0.0.dev1
3
+ Version: 4.0.0.dev2
4
4
  Summary: Python Spark Connect client for Apache Spark
5
5
  Home-page: https://github.com/apache/spark/tree/master/python
6
6
  Author: Spark Developers
@@ -149,8 +149,8 @@ class Accumulator(Generic[T]):
149
149
  """Get the accumulator's value; only usable in driver program"""
150
150
  if self._deserialized:
151
151
  raise PySparkRuntimeError(
152
- error_class="VALUE_NOT_ACCESSIBLE",
153
- message_parameters={
152
+ errorClass="VALUE_NOT_ACCESSIBLE",
153
+ messageParameters={
154
154
  "value": "Accumulator.value",
155
155
  },
156
156
  )
@@ -161,8 +161,8 @@ class Accumulator(Generic[T]):
161
161
  """Sets the accumulator's value; only usable in driver program"""
162
162
  if self._deserialized:
163
163
  raise PySparkRuntimeError(
164
- error_class="VALUE_NOT_ACCESSIBLE",
165
- message_parameters={
164
+ errorClass="VALUE_NOT_ACCESSIBLE",
165
+ messageParameters={
166
166
  "value": "Accumulator.value",
167
167
  },
168
168
  )
@@ -188,8 +188,8 @@ class SparkConf:
188
188
  """Set an environment variable to be passed to executors."""
189
189
  if (key is not None and pairs is not None) or (key is None and pairs is None):
190
190
  raise PySparkRuntimeError(
191
- error_class="KEY_VALUE_PAIR_REQUIRED",
192
- message_parameters={},
191
+ errorClass="KEY_VALUE_PAIR_REQUIRED",
192
+ messageParameters={},
193
193
  )
194
194
  elif key is not None:
195
195
  self.set("spark.executorEnv.{}".format(key), cast(str, value))
@@ -30,7 +30,7 @@ from signal import SIGHUP, SIGTERM, SIGCHLD, SIG_DFL, SIG_IGN, SIGINT
30
30
 
31
31
  from pyspark.serializers import read_int, write_int, write_with_length, UTF8Deserializer
32
32
 
33
- if len(sys.argv) > 1:
33
+ if len(sys.argv) > 1 and sys.argv[1].startswith("pyspark"):
34
34
  import importlib
35
35
 
36
36
  worker_module = importlib.import_module(sys.argv[1])
@@ -134,6 +134,11 @@
134
134
  "Metadata can only be provided for a single column."
135
135
  ]
136
136
  },
137
+ "CANNOT_REGISTER_UDTF": {
138
+ "message": [
139
+ "Cannot register the UDTF '<name>': expected a 'UserDefinedTableFunction'. Please make sure the UDTF is correctly defined as a class, and then either wrap it in the `udtf()` function or annotate it with `@udtf(...)`."
140
+ ]
141
+ },
137
142
  "CANNOT_SET_TOGETHER": {
138
143
  "message": [
139
144
  "<arg_list> should not be set together."
@@ -149,6 +154,11 @@
149
154
  "Cannot <condition1> without <condition2>."
150
155
  ]
151
156
  },
157
+ "CLASSIC_OPERATION_NOT_SUPPORTED_ON_DF": {
158
+ "message": [
159
+ "Calling property or member '<member>' is not supported in PySpark Classic, please use Spark Connect instead."
160
+ ]
161
+ },
152
162
  "COLLATION_INVALID_PROVIDER" : {
153
163
  "message" : [
154
164
  "The value <provider> does not represent a correct collation provider. Supported providers are: [<supportedProviders>]."
@@ -19,6 +19,7 @@ from enum import Enum
19
19
  from typing import Dict, Optional, cast, Iterable, TYPE_CHECKING, List
20
20
 
21
21
  from pyspark.errors.utils import ErrorClassesReader
22
+ from pyspark.logger import PySparkLogger
22
23
  from pickle import PicklingError
23
24
 
24
25
  if TYPE_CHECKING:
@@ -33,24 +34,24 @@ class PySparkException(Exception):
33
34
  def __init__(
34
35
  self,
35
36
  message: Optional[str] = None,
36
- error_class: Optional[str] = None,
37
- message_parameters: Optional[Dict[str, str]] = None,
38
- query_contexts: Optional[List["QueryContext"]] = None,
37
+ errorClass: Optional[str] = None,
38
+ messageParameters: Optional[Dict[str, str]] = None,
39
+ contexts: Optional[List["QueryContext"]] = None,
39
40
  ):
40
- if query_contexts is None:
41
- query_contexts = []
41
+ if contexts is None:
42
+ contexts = []
42
43
  self._error_reader = ErrorClassesReader()
43
44
 
44
45
  if message is None:
45
46
  self._message = self._error_reader.get_error_message(
46
- cast(str, error_class), cast(Dict[str, str], message_parameters)
47
+ cast(str, errorClass), cast(Dict[str, str], messageParameters)
47
48
  )
48
49
  else:
49
50
  self._message = message
50
51
 
51
- self._error_class = error_class
52
- self._message_parameters = message_parameters
53
- self._query_contexts = query_contexts
52
+ self._errorClass = errorClass
53
+ self._messageParameters = messageParameters
54
+ self._contexts = contexts
54
55
 
55
56
  def getErrorClass(self) -> Optional[str]:
56
57
  """
@@ -65,7 +66,7 @@ class PySparkException(Exception):
65
66
  :meth:`PySparkException.getQueryContext`
66
67
  :meth:`PySparkException.getSqlState`
67
68
  """
68
- return self._error_class
69
+ return self._errorClass
69
70
 
70
71
  def getMessageParameters(self) -> Optional[Dict[str, str]]:
71
72
  """
@@ -80,7 +81,7 @@ class PySparkException(Exception):
80
81
  :meth:`PySparkException.getQueryContext`
81
82
  :meth:`PySparkException.getSqlState`
82
83
  """
83
- return self._message_parameters
84
+ return self._messageParameters
84
85
 
85
86
  def getSqlState(self) -> Optional[str]:
86
87
  """
@@ -127,7 +128,29 @@ class PySparkException(Exception):
127
128
  :meth:`PySparkException.getMessage`
128
129
  :meth:`PySparkException.getSqlState`
129
130
  """
130
- return self._query_contexts
131
+ return self._contexts
132
+
133
+ def _log_exception(self) -> None:
134
+ contexts = self.getQueryContext()
135
+ context = contexts[0] if len(contexts) != 0 else None
136
+ if context:
137
+ if context.contextType().name == "DataFrame":
138
+ logger = PySparkLogger.getLogger("DataFrameQueryContextLogger")
139
+ call_site = context.callSite().split(":")
140
+ line = call_site[1] if len(call_site) == 2 else ""
141
+ logger.exception(
142
+ self.getMessage(),
143
+ file=call_site[0],
144
+ line=line,
145
+ fragment=context.fragment(),
146
+ errorClass=self.getErrorClass(),
147
+ )
148
+ else:
149
+ logger = PySparkLogger.getLogger("SQLQueryContextLogger")
150
+ logger.exception(
151
+ self.getMessage(),
152
+ errorClass=self.getErrorClass(),
153
+ )
131
154
 
132
155
  def __str__(self) -> str:
133
156
  if self.getErrorClass() is not None:
@@ -276,11 +299,11 @@ class PySparkAssertionError(PySparkException, AssertionError):
276
299
  def __init__(
277
300
  self,
278
301
  message: Optional[str] = None,
279
- error_class: Optional[str] = None,
280
- message_parameters: Optional[Dict[str, str]] = None,
302
+ errorClass: Optional[str] = None,
303
+ messageParameters: Optional[Dict[str, str]] = None,
281
304
  data: Optional[Iterable["Row"]] = None,
282
305
  ):
283
- super().__init__(message, error_class, message_parameters)
306
+ super().__init__(message, errorClass, messageParameters)
284
307
  self.data = data
285
308
 
286
309
 
@@ -73,6 +73,7 @@ class CapturedException(PySparkException):
73
73
  if self._cause is None and origin is not None and origin.getCause() is not None:
74
74
  self._cause = convert_exception(origin.getCause())
75
75
  self._origin = origin
76
+ self._log_exception()
76
77
 
77
78
  def __str__(self) -> str:
78
79
  from pyspark import SparkContext
@@ -145,11 +146,11 @@ class CapturedException(PySparkException):
145
146
  if self._origin is not None and is_instance_of(
146
147
  gw, self._origin, "org.apache.spark.SparkThrowable"
147
148
  ):
148
- error_class = self._origin.getErrorClass()
149
- message_parameters = self._origin.getMessageParameters()
149
+ errorClass = self._origin.getErrorClass()
150
+ messageParameters = self._origin.getMessageParameters()
150
151
 
151
152
  error_message = gw.jvm.org.apache.spark.SparkThrowableHelper.getMessage(
152
- error_class, message_parameters
153
+ errorClass, messageParameters
153
154
  )
154
155
 
155
156
  return error_message
@@ -166,7 +167,14 @@ class CapturedException(PySparkException):
166
167
  if self._origin is not None and is_instance_of(
167
168
  gw, self._origin, "org.apache.spark.SparkThrowable"
168
169
  ):
169
- return [QueryContext(q) for q in self._origin.getQueryContext()]
170
+ contexts: List[BaseQueryContext] = []
171
+ for q in self._origin.getQueryContext():
172
+ if q.contextType().toString() == "SQL":
173
+ contexts.append(SQLQueryContext(q))
174
+ else:
175
+ contexts.append(DataFrameQueryContext(q))
176
+
177
+ return contexts
170
178
  else:
171
179
  return []
172
180
 
@@ -379,17 +387,12 @@ class UnknownException(CapturedException, BaseUnknownException):
379
387
  """
380
388
 
381
389
 
382
- class QueryContext(BaseQueryContext):
390
+ class SQLQueryContext(BaseQueryContext):
383
391
  def __init__(self, q: "JavaObject"):
384
392
  self._q = q
385
393
 
386
394
  def contextType(self) -> QueryContextType:
387
- context_type = self._q.contextType().toString()
388
- assert context_type in ("SQL", "DataFrame")
389
- if context_type == "DataFrame":
390
- return QueryContextType.DataFrame
391
- else:
392
- return QueryContextType.SQL
395
+ return QueryContextType.SQL
393
396
 
394
397
  def objectType(self) -> str:
395
398
  return str(self._q.objectType())
@@ -409,13 +412,34 @@ class QueryContext(BaseQueryContext):
409
412
  def callSite(self) -> str:
410
413
  return str(self._q.callSite())
411
414
 
412
- def pysparkFragment(self) -> Optional[str]: # type: ignore[return]
413
- if self.contextType() == QueryContextType.DataFrame:
414
- return str(self._q.pysparkFragment())
415
+ def summary(self) -> str:
416
+ return str(self._q.summary())
417
+
418
+
419
+ class DataFrameQueryContext(BaseQueryContext):
420
+ def __init__(self, q: "JavaObject"):
421
+ self._q = q
422
+
423
+ def contextType(self) -> QueryContextType:
424
+ return QueryContextType.DataFrame
425
+
426
+ def objectType(self) -> str:
427
+ return str(self._q.objectType())
428
+
429
+ def objectName(self) -> str:
430
+ return str(self._q.objectName())
415
431
 
416
- def pysparkCallSite(self) -> Optional[str]: # type: ignore[return]
417
- if self.contextType() == QueryContextType.DataFrame:
418
- return str(self._q.pysparkCallSite())
432
+ def startIndex(self) -> int:
433
+ return int(self._q.startIndex())
434
+
435
+ def stopIndex(self) -> int:
436
+ return int(self._q.stopIndex())
437
+
438
+ def fragment(self) -> str:
439
+ return str(self._q.fragment())
440
+
441
+ def callSite(self) -> str:
442
+ return str(self._q.callSite())
419
443
 
420
444
  def summary(self) -> str:
421
445
  return str(self._q.summary())