graph LR
Hive_DBAPI_Connector["Hive DBAPI Connector"]
Presto_Trino_DBAPI_Connector["Presto-Trino DBAPI Connector"]
Common_DBAPI_Utilities["Common DBAPI Utilities"]
SASL_Authentication_Layer["SASL Authentication Layer"]
TCLIService_Thrift_Layer["TCLIService Thrift Layer"]
SQLAlchemy_Dialects["SQLAlchemy Dialects"]
PyHive_Exception_Handling["PyHive Exception Handling"]
Hive_DBAPI_Connector -- "communicates via" --> TCLIService_Thrift_Layer
Hive_DBAPI_Connector -- "uses" --> SASL_Authentication_Layer
Hive_DBAPI_Connector -- "builds upon" --> Common_DBAPI_Utilities
Hive_DBAPI_Connector -- "raises" --> PyHive_Exception_Handling
Presto_Trino_DBAPI_Connector -- "builds upon" --> Common_DBAPI_Utilities
Presto_Trino_DBAPI_Connector -- "raises" --> PyHive_Exception_Handling
Common_DBAPI_Utilities -- "raises" --> PyHive_Exception_Handling
SASL_Authentication_Layer -- "raises" --> PyHive_Exception_Handling
SQLAlchemy_Dialects -- "integrates with" --> Hive_DBAPI_Connector
SQLAlchemy_Dialects -- "integrates with" --> Presto_Trino_DBAPI_Connector
SQLAlchemy_Dialects -- "uses" --> Common_DBAPI_Utilities
click Hive_DBAPI_Connector href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/PyHive/Hive DBAPI Connector.md" "Details"
click Presto_Trino_DBAPI_Connector href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/PyHive/Presto-Trino DBAPI Connector.md" "Details"
click Common_DBAPI_Utilities href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/PyHive/Common DBAPI Utilities.md" "Details"
click SASL_Authentication_Layer href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/PyHive/SASL Authentication Layer.md" "Details"
click TCLIService_Thrift_Layer href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/PyHive/TCLIService Thrift Layer.md" "Details"
click SQLAlchemy_Dialects href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/PyHive/SQLAlchemy Dialects.md" "Details"
click PyHive_Exception_Handling href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/PyHive/PyHive Exception Handling.md" "Details"
PyHive is a Python DBAPI and SQLAlchemy dialect implementation for Hive, Presto, and Trino. It provides a standardized interface for connecting to these distributed SQL engines, enabling users to execute queries and retrieve results. The architecture is modular, separating concerns such as database-specific connectivity, common DBAPI utilities, authentication mechanisms, Thrift communication, and SQLAlchemy dialect implementations, all while providing a consistent exception handling framework.
Provides the core DBAPI-compliant interface for connecting to and interacting with Hive databases, managing sessions, cursors, and query execution via the Thrift service.
Related Classes/Methods:
PyHive.pyhive.hive.Connection(146:358)PyHive.pyhive.hive.Cursor(361:570)PyHive.pyhive.hive.connect(137:143)PyHive.pyhive.hive._check_status(607:611)PyHive.pyhive.hive._unwrap_column(588:604)
Offers DBAPI-compliant interfaces for connecting to and executing queries against Presto and Trino databases, handling connection management, cursor operations, and response processing. The Trino connector extends the Presto connector.
Related Classes/Methods:
PyHive.pyhive.presto.Connection(64:88)PyHive.pyhive.presto.Cursor(91:355)PyHive.pyhive.presto.connect(55:61)PyHive.pyhive.trino.Connection(49:55)PyHive.pyhive.trino.Cursor(58:132)PyHive.pyhive.trino.connect(40:46)
Encapsulates shared functionalities for DBAPI compliance, including base cursor behaviors and SQL parameter escaping, used across different database connectors.
Related Classes/Methods:
Provides client-side implementation for SASL mechanisms, enabling secure authentication for connections, particularly with HiveServer2.
Related Classes/Methods:
Represents the auto-generated Thrift code for the HiveServer2 (TCLIService) API, including client interface, data types for requests/responses, and server-side processor logic.
Related Classes/Methods:
PyHive.TCLIService.TCLIService.Client(174:861)PyHive.TCLIService.ttypes.TOpenSessionReq(full file reference)PyHive.TCLIService.ttypes.TCloseSessionReq(full file reference)PyHive.TCLIService.ttypes.TExecuteStatementReq(full file reference)PyHive.TCLIService.ttypes.TFetchResultsReq(full file reference)PyHive.TCLIService.ttypes.TGetResultSetMetadataReq(full file reference)
Provides SQLAlchemy dialect implementations for Hive, Presto, and Trino databases, enabling ORM functionalities and schema introspection. The Trino dialect extends the Presto dialect.
Related Classes/Methods:
PyHive.pyhive.sqlalchemy_hive.HiveDialect(241:392)PyHive.pyhive.sqlalchemy_presto.PrestoDialect(79:223)PyHive.pyhive.sqlalchemy_trino.TrinoDialect(74:84)
Defines a hierarchy of custom exception classes for various database-related errors within PyHive.
Related Classes/Methods: