snowpark-connect 0.20.2__py3-none-any.whl → 0.22.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of snowpark-connect might be problematic. Click here for more details.

Files changed (84) hide show
  1. snowflake/snowpark_connect/analyze_plan/map_tree_string.py +3 -2
  2. snowflake/snowpark_connect/column_name_handler.py +6 -65
  3. snowflake/snowpark_connect/config.py +47 -17
  4. snowflake/snowpark_connect/dataframe_container.py +242 -0
  5. snowflake/snowpark_connect/error/error_utils.py +25 -0
  6. snowflake/snowpark_connect/execute_plan/map_execution_command.py +13 -23
  7. snowflake/snowpark_connect/execute_plan/map_execution_root.py +9 -5
  8. snowflake/snowpark_connect/expression/map_extension.py +2 -1
  9. snowflake/snowpark_connect/expression/map_udf.py +4 -4
  10. snowflake/snowpark_connect/expression/map_unresolved_attribute.py +8 -7
  11. snowflake/snowpark_connect/expression/map_unresolved_function.py +481 -170
  12. snowflake/snowpark_connect/expression/map_unresolved_star.py +8 -8
  13. snowflake/snowpark_connect/expression/map_update_fields.py +1 -1
  14. snowflake/snowpark_connect/expression/typer.py +6 -6
  15. snowflake/snowpark_connect/proto/control_pb2.py +17 -16
  16. snowflake/snowpark_connect/proto/control_pb2.pyi +17 -17
  17. snowflake/snowpark_connect/proto/control_pb2_grpc.py +12 -63
  18. snowflake/snowpark_connect/proto/snowflake_expression_ext_pb2.py +15 -14
  19. snowflake/snowpark_connect/proto/snowflake_expression_ext_pb2.pyi +19 -14
  20. snowflake/snowpark_connect/proto/snowflake_expression_ext_pb2_grpc.py +4 -0
  21. snowflake/snowpark_connect/proto/snowflake_relation_ext_pb2.py +27 -26
  22. snowflake/snowpark_connect/proto/snowflake_relation_ext_pb2.pyi +74 -68
  23. snowflake/snowpark_connect/proto/snowflake_relation_ext_pb2_grpc.py +4 -0
  24. snowflake/snowpark_connect/relation/catalogs/abstract_spark_catalog.py +5 -5
  25. snowflake/snowpark_connect/relation/catalogs/snowflake_catalog.py +25 -17
  26. snowflake/snowpark_connect/relation/map_aggregate.py +170 -61
  27. snowflake/snowpark_connect/relation/map_catalog.py +2 -2
  28. snowflake/snowpark_connect/relation/map_column_ops.py +227 -145
  29. snowflake/snowpark_connect/relation/map_crosstab.py +25 -6
  30. snowflake/snowpark_connect/relation/map_extension.py +81 -56
  31. snowflake/snowpark_connect/relation/map_join.py +72 -63
  32. snowflake/snowpark_connect/relation/map_local_relation.py +35 -20
  33. snowflake/snowpark_connect/relation/map_map_partitions.py +24 -17
  34. snowflake/snowpark_connect/relation/map_relation.py +22 -16
  35. snowflake/snowpark_connect/relation/map_row_ops.py +232 -146
  36. snowflake/snowpark_connect/relation/map_sample_by.py +15 -8
  37. snowflake/snowpark_connect/relation/map_show_string.py +42 -5
  38. snowflake/snowpark_connect/relation/map_sql.py +141 -237
  39. snowflake/snowpark_connect/relation/map_stats.py +88 -39
  40. snowflake/snowpark_connect/relation/map_subquery_alias.py +13 -14
  41. snowflake/snowpark_connect/relation/map_udtf.py +10 -13
  42. snowflake/snowpark_connect/relation/read/map_read.py +8 -3
  43. snowflake/snowpark_connect/relation/read/map_read_csv.py +7 -7
  44. snowflake/snowpark_connect/relation/read/map_read_jdbc.py +7 -7
  45. snowflake/snowpark_connect/relation/read/map_read_json.py +19 -8
  46. snowflake/snowpark_connect/relation/read/map_read_parquet.py +7 -7
  47. snowflake/snowpark_connect/relation/read/map_read_socket.py +7 -3
  48. snowflake/snowpark_connect/relation/read/map_read_table.py +25 -16
  49. snowflake/snowpark_connect/relation/read/map_read_text.py +7 -7
  50. snowflake/snowpark_connect/relation/read/reader_config.py +1 -0
  51. snowflake/snowpark_connect/relation/utils.py +11 -5
  52. snowflake/snowpark_connect/relation/write/jdbc_write_dbapi.py +15 -12
  53. snowflake/snowpark_connect/relation/write/map_write.py +259 -56
  54. snowflake/snowpark_connect/relation/write/map_write_jdbc.py +3 -2
  55. snowflake/snowpark_connect/server.py +43 -4
  56. snowflake/snowpark_connect/type_mapping.py +6 -23
  57. snowflake/snowpark_connect/utils/cache.py +27 -22
  58. snowflake/snowpark_connect/utils/context.py +33 -17
  59. snowflake/snowpark_connect/utils/describe_query_cache.py +2 -9
  60. snowflake/snowpark_connect/utils/{attribute_handling.py → identifiers.py} +47 -0
  61. snowflake/snowpark_connect/utils/session.py +41 -38
  62. snowflake/snowpark_connect/utils/telemetry.py +214 -63
  63. snowflake/snowpark_connect/utils/udxf_import_utils.py +14 -0
  64. snowflake/snowpark_connect/version.py +1 -1
  65. snowflake/snowpark_decoder/__init__.py +0 -0
  66. snowflake/snowpark_decoder/_internal/proto/generated/DataframeProcessorMsg_pb2.py +36 -0
  67. snowflake/snowpark_decoder/_internal/proto/generated/DataframeProcessorMsg_pb2.pyi +156 -0
  68. snowflake/snowpark_decoder/dp_session.py +111 -0
  69. snowflake/snowpark_decoder/spark_decoder.py +76 -0
  70. {snowpark_connect-0.20.2.dist-info → snowpark_connect-0.22.1.dist-info}/METADATA +6 -4
  71. {snowpark_connect-0.20.2.dist-info → snowpark_connect-0.22.1.dist-info}/RECORD +83 -69
  72. snowpark_connect-0.22.1.dist-info/licenses/LICENSE-binary +568 -0
  73. snowpark_connect-0.22.1.dist-info/licenses/NOTICE-binary +1533 -0
  74. {snowpark_connect-0.20.2.dist-info → snowpark_connect-0.22.1.dist-info}/top_level.txt +1 -0
  75. spark/__init__.py +0 -0
  76. spark/connect/__init__.py +0 -0
  77. spark/connect/envelope_pb2.py +31 -0
  78. spark/connect/envelope_pb2.pyi +46 -0
  79. snowflake/snowpark_connect/includes/jars/jackson-mapper-asl-1.9.13.jar +0 -0
  80. {snowpark_connect-0.20.2.data → snowpark_connect-0.22.1.data}/scripts/snowpark-connect +0 -0
  81. {snowpark_connect-0.20.2.data → snowpark_connect-0.22.1.data}/scripts/snowpark-session +0 -0
  82. {snowpark_connect-0.20.2.data → snowpark_connect-0.22.1.data}/scripts/snowpark-submit +0 -0
  83. {snowpark_connect-0.20.2.dist-info → snowpark_connect-0.22.1.dist-info}/WHEEL +0 -0
  84. {snowpark_connect-0.20.2.dist-info → snowpark_connect-0.22.1.dist-info}/licenses/LICENSE.txt +0 -0
spark/__init__.py ADDED
File without changes
File without changes
@@ -0,0 +1,31 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: envelope.proto
4
+ # Protobuf Python Version: 4.25.1
5
+ """Generated protocol buffer code."""
6
+ from google.protobuf import descriptor as _descriptor
7
+ from google.protobuf import descriptor_pool as _descriptor_pool
8
+ from google.protobuf import symbol_database as _symbol_database
9
+ from google.protobuf.internal import builder as _builder
10
+ # @@protoc_insertion_point(imports)
11
+
12
+ _sym_db = _symbol_database.Default()
13
+
14
+
15
+ from pyspark.sql.connect.proto import base_pb2 as spark_dot_connect_dot_base__pb2
16
+ from google.rpc import status_pb2 as google_dot_rpc_dot_status__pb2
17
+
18
+
19
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0e\x65nvelope.proto\x12\rspark.connect\x1a\x18spark/connect/base.proto\x1a\x17google/rpc/status.proto\"[\n\x14\x44\x61taframeQueryResult\x12\x17\n\x0fresult_job_uuid\x18\x01 \x01(\t\x12\x14\n\x0c\x61rrow_schema\x18\x02 \x01(\x0c\x12\x14\n\x0cspark_schema\x18\x03 \x01(\x0c\"\xb4\x05\n\x10ResponseEnvelope\x12\x43\n\x15\x65xecute_plan_response\x18\x01 \x01(\x0b\x32\".spark.connect.ExecutePlanResponseH\x00\x12\x43\n\x15\x61nalyze_plan_response\x18\x02 \x01(\x0b\x32\".spark.connect.AnalyzePlanResponseH\x00\x12\x38\n\x0f\x63onfig_response\x18\x03 \x01(\x0b\x32\x1d.spark.connect.ConfigResponseH\x00\x12\x45\n\x16\x61\x64\x64_artifacts_response\x18\x04 \x01(\x0b\x32#.spark.connect.AddArtifactsResponseH\x00\x12K\n\x18\x61rtifact_status_response\x18\x05 \x01(\x0b\x32\'.spark.connect.ArtifactStatusesResponseH\x00\x12>\n\x12interrupt_response\x18\x06 \x01(\x0b\x32 .spark.connect.InterruptResponseH\x00\x12I\n\x18release_execute_response\x18\x07 \x01(\x0b\x32%.spark.connect.ReleaseExecuteResponseH\x00\x12$\n\x06status\x18\x0b \x01(\x0b\x32\x12.google.rpc.StatusH\x00\x12\x45\n\x16\x64\x61taframe_query_result\x18\x0c \x01(\x0b\x32#.spark.connect.DataframeQueryResultH\x00\x12\x10\n\x08query_id\x18\x08 \x01(\t\x12\x12\n\nrequest_id\x18\t \x01(\t\x12\x19\n\x11result_partitions\x18\n \x03(\tB\x0f\n\rresponse_typeB9\n!com.snowflake.spark.connect.protoP\x01Z\x12internal/generatedb\x06proto3')
20
+
21
+ _globals = globals()
22
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
23
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'envelope_pb2', _globals)
24
+ if _descriptor._USE_C_DESCRIPTORS == False:
25
+ _globals['DESCRIPTOR']._options = None
26
+ _globals['DESCRIPTOR']._serialized_options = b'\n!com.snowflake.spark.connect.protoP\001Z\022internal/generated'
27
+ _globals['_DATAFRAMEQUERYRESULT']._serialized_start=84
28
+ _globals['_DATAFRAMEQUERYRESULT']._serialized_end=175
29
+ _globals['_RESPONSEENVELOPE']._serialized_start=178
30
+ _globals['_RESPONSEENVELOPE']._serialized_end=870
31
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,46 @@
1
+ from pyspark.sql.connect.proto import base_pb2 as _base_pb2
2
+ from google.rpc import status_pb2 as _status_pb2
3
+ from google.protobuf.internal import containers as _containers
4
+ from google.protobuf import descriptor as _descriptor
5
+ from google.protobuf import message as _message
6
+ from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union
7
+
8
+ DESCRIPTOR: _descriptor.FileDescriptor
9
+
10
+ class DataframeQueryResult(_message.Message):
11
+ __slots__ = ("result_job_uuid", "arrow_schema", "spark_schema")
12
+ RESULT_JOB_UUID_FIELD_NUMBER: _ClassVar[int]
13
+ ARROW_SCHEMA_FIELD_NUMBER: _ClassVar[int]
14
+ SPARK_SCHEMA_FIELD_NUMBER: _ClassVar[int]
15
+ result_job_uuid: str
16
+ arrow_schema: bytes
17
+ spark_schema: bytes
18
+ def __init__(self, result_job_uuid: _Optional[str] = ..., arrow_schema: _Optional[bytes] = ..., spark_schema: _Optional[bytes] = ...) -> None: ...
19
+
20
+ class ResponseEnvelope(_message.Message):
21
+ __slots__ = ("execute_plan_response", "analyze_plan_response", "config_response", "add_artifacts_response", "artifact_status_response", "interrupt_response", "release_execute_response", "status", "dataframe_query_result", "query_id", "request_id", "result_partitions")
22
+ EXECUTE_PLAN_RESPONSE_FIELD_NUMBER: _ClassVar[int]
23
+ ANALYZE_PLAN_RESPONSE_FIELD_NUMBER: _ClassVar[int]
24
+ CONFIG_RESPONSE_FIELD_NUMBER: _ClassVar[int]
25
+ ADD_ARTIFACTS_RESPONSE_FIELD_NUMBER: _ClassVar[int]
26
+ ARTIFACT_STATUS_RESPONSE_FIELD_NUMBER: _ClassVar[int]
27
+ INTERRUPT_RESPONSE_FIELD_NUMBER: _ClassVar[int]
28
+ RELEASE_EXECUTE_RESPONSE_FIELD_NUMBER: _ClassVar[int]
29
+ STATUS_FIELD_NUMBER: _ClassVar[int]
30
+ DATAFRAME_QUERY_RESULT_FIELD_NUMBER: _ClassVar[int]
31
+ QUERY_ID_FIELD_NUMBER: _ClassVar[int]
32
+ REQUEST_ID_FIELD_NUMBER: _ClassVar[int]
33
+ RESULT_PARTITIONS_FIELD_NUMBER: _ClassVar[int]
34
+ execute_plan_response: _base_pb2.ExecutePlanResponse
35
+ analyze_plan_response: _base_pb2.AnalyzePlanResponse
36
+ config_response: _base_pb2.ConfigResponse
37
+ add_artifacts_response: _base_pb2.AddArtifactsResponse
38
+ artifact_status_response: _base_pb2.ArtifactStatusesResponse
39
+ interrupt_response: _base_pb2.InterruptResponse
40
+ release_execute_response: _base_pb2.ReleaseExecuteResponse
41
+ status: _status_pb2.Status
42
+ dataframe_query_result: DataframeQueryResult
43
+ query_id: str
44
+ request_id: str
45
+ result_partitions: _containers.RepeatedScalarFieldContainer[str]
46
+ def __init__(self, execute_plan_response: _Optional[_Union[_base_pb2.ExecutePlanResponse, _Mapping]] = ..., analyze_plan_response: _Optional[_Union[_base_pb2.AnalyzePlanResponse, _Mapping]] = ..., config_response: _Optional[_Union[_base_pb2.ConfigResponse, _Mapping]] = ..., add_artifacts_response: _Optional[_Union[_base_pb2.AddArtifactsResponse, _Mapping]] = ..., artifact_status_response: _Optional[_Union[_base_pb2.ArtifactStatusesResponse, _Mapping]] = ..., interrupt_response: _Optional[_Union[_base_pb2.InterruptResponse, _Mapping]] = ..., release_execute_response: _Optional[_Union[_base_pb2.ReleaseExecuteResponse, _Mapping]] = ..., status: _Optional[_Union[_status_pb2.Status, _Mapping]] = ..., dataframe_query_result: _Optional[_Union[DataframeQueryResult, _Mapping]] = ..., query_id: _Optional[str] = ..., request_id: _Optional[str] = ..., result_partitions: _Optional[_Iterable[str]] = ...) -> None: ...