Skip to content

Latest commit

 

History

History
124 lines (84 loc) · 9.45 KB

File metadata and controls

124 lines (84 loc) · 9.45 KB
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"
Loading

CodeBoardingDemoContact

Component 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.

Hive DBAPI Connector

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:

Presto-Trino DBAPI Connector

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:

Common DBAPI Utilities

Encapsulates shared functionalities for DBAPI compliance, including base cursor behaviors and SQL parameter escaping, used across different database connectors.

Related Classes/Methods:

SASL Authentication Layer

Provides client-side implementation for SASL mechanisms, enabling secure authentication for connections, particularly with HiveServer2.

Related Classes/Methods:

TCLIService Thrift Layer

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)

SQLAlchemy Dialects

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 Exception Handling

Defines a hierarchy of custom exception classes for various database-related errors within PyHive.

Related Classes/Methods: