Format: application/x-python-code
⬇ Download File (1.7 KB)
   1  B
   2  
   3  8T�cw�@sddlZGdd�d�ZdS)�Nc@seZdZdd�Zddd�ZdS)�
   4  DataExtractorcCs||_||_dS)N)�
   5  spark_session�cred_manager)�selfrr�r�G/home/glue_user/workspace/jupyter_workspace/dev/helper/dataextractor.py�__init__szDataExtractor.__init__NcCs�|r|nd}|rd|nd}d|kr\d|�d|d�d|d	�d
   6  |����}|j�|�}�n�d|kr�|j�|�}|dd
   7  |d|d|d|d|dd�}d|�d|d�d|d	�d
   8  |����}|jj�d�jf|��d|��	�}�nd|k�r�|j�|�}|d	}	|d}
   9  y|d}Wn|d}YnXy|d}Wnd}YnXy|d}
  10  Wnd}
  11  YnXy|d}Wnt
  12  d��YnXd|�d|�d|
  13  ��}d|�d|d	�d
  14  |����}|jj�d��d |��d|
  15  ��d|��d|��	�}|S)!N�*zwhere �ZgluezSELECT z FROM �database�.�table� Z	snowflake�accountz.snowflakecomputing.com�user�passwordZschemaZ	warehouse)ZsfURLZsfUserZ
  16  sfPasswordZ
  17  sfDatabaseZsfSchemaZsfWarehouseznet.snowflake.spark.snowflake�queryZaurora�host�base_url�portZ5432�postgreszPassword Not Defined in secretzjdbc:postgresql://�:�/Zjdbc�url)�stripr�sqlr�get_credentials�read�format�options�option�load�
  18  ValueError)r�sourcerZpushdown_predicate�columnsrZdf�credsZ	sfOptionsr
  19  rrrrrrrrr�extract_data
  20  sV(
  21  (
  22  
  23  
  24  zDataExtractor.extract_data)NN)�__name__�
  25  __module__�__qualname__rr&rrrrrsr)�boto3rrrrr�<module>s