easy_sql.sql_processor.backend.rdb

Module Contents

Classes

RdbBackend

table_partitions_table_name;

SqlExpr

class easy_sql.sql_processor.backend.rdb.RdbBackend(url, credentials=None, sql_expr=None, partitions_table_name='dataplat.__table_partitions__', engine=None)

Bases: easy_sql.sql_processor.backend.base.Backend

digraph inheritancee167816318 { bgcolor=transparent; rankdir=LR; size="8.0, 12.0"; "Backend" [URL="../base/index.html#easy_sql.sql_processor.backend.base.Backend",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top"]; "RdbBackend" [URL="#easy_sql.sql_processor.backend.rdb.RdbBackend",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="table_partitions_table_name;"]; "Backend" -> "RdbBackend" [arrowsize=0.5,style="setlinewidth(0.5)"]; }

table_partitions_table_name; means the table name which save the static partition info for all partition tables in data warehouse, for now need support backend type: [clickhouse] others backend has another method to manage static partition info or just support static partition

Parameters
broadcast_table(self, table, name)
Parameters
  • table (RdbTable) –

  • name (str) –

clean(self)
clear_cache(self)
clear_temp_tables(self, exclude=None)
Parameters

exclude (Optional[List[str]]) –

create_cache_table(self, table, name)
Parameters
  • table (RdbTable) –

  • name (str) –

create_empty_table(self)
create_table_with_data(self, full_table_name, values, schema, partitions)
Parameters
create_temp_table(self, table, name)
Parameters
  • table (RdbTable) –

  • name (str) –

create_temp_table_with_data(self, table_name, values, schema)
Parameters
  • table_name (str) –

  • values (List[List[Any]]) –

  • schema (List[easy_sql.sql_processor.backend.base.Col]) –

db_exists(self, db_name)
Parameters

db_name (str) –

Return type

bool

exec_native_sql(self, sql)
Parameters

sql (Union[str, List[str]]) –

Return type

Any

exec_sql(self, sql)
Parameters

sql (str) –

Return type

RdbTable

get_column_names(self, table_name, schema=None, **kw)
Return type

List[str]

get_columns(self, table_name, schema=None, raw=False, **kw)
Return type

List[Dict]

init_udfs(self, *args, **kwargs)
property inspector(self)
Return type

sqlalchemy.engine.reflection.Inspector

refresh_table_partitions(self, table)
Parameters

table (easy_sql.sql_processor.backend.base.TableMeta) –

register_udfs(self, funcs)
Parameters

funcs (Dict[str, Callable[[], Union[str, List[str]]]]) –

reset(self)
save_table(self, source_table, target_table, save_mode, create_target_table)
Parameters
save_table_sql(self, source_table, source_table_sql, target_table)
Parameters
Return type

str

table_exists(self, table)
Parameters

table (easy_sql.sql_processor.backend.base.TableMeta) –

temp_tables(self)
Return type

List[str]

class easy_sql.sql_processor.backend.rdb.SqlExpr(value_to_sql_expr=None, column_sql_type_converter=None, partition_col_converter=None, partition_value_converter=None, partition_expr=None)
Parameters
  • value_to_sql_expr (Optional[Callable[[Any], Optional[str]]]) –

  • column_sql_type_converter (Optional[Callable[[str, str, sqlalchemy.types.TypeEngine], Optional[str]]]) –

  • partition_col_converter (Optional[Callable[[str], str]]) –

  • partition_value_converter (Optional[Callable[[str, str], Any]]) –

  • partition_expr (Optional[Callable[[str, str], str]]) –

bigquery_partition_expr(self, partition_col)
Parameters

partition_col (str) –

Return type

str

convert_partition_col(self, partition_col)
Parameters

partition_col (str) –

Return type

str

convert_partition_value(self, partition_col, value)
Parameters
  • partition_col (str) –

  • value (str) –

Return type

Any

for_bigquery_type(self, col_name, col_type)
Parameters
  • col_name (str) –

  • col_type (Union[str, sqlalchemy.types.TypeEngine]) –

Return type

str

for_value(self, value)
Parameters

value (Union[str, int, float, datetime.datetime, datetime.date]) –

Return type

str