airflow.hooks.mysql_hook¶
Module Contents¶
- 
class airflow.hooks.mysql_hook.MySqlHook(*args, **kwargs)[source]¶
- Bases: - airflow.hooks.dbapi_hook.DbApiHook- Interact with MySQL. - You can specify charset in the extra field of your connection as - {"charset": "utf8"}. Also you can choose cursor as- {"cursor": "SSCursor"}. Refer to the MySQLdb.cursors for more details.- Note: For AWS IAM authentication, use iam in the extra connection parameters and set it to true. Leave the password field empty. This will use the the “aws_default” connection to get the temporary token unless you override in extras. extras example: - {"iam":true, "aws_conn_id":"my_aws_conn"}- 
set_autocommit(self, conn, autocommit)[source]¶
- MySql connection sets autocommit in a different way. 
 - 
get_autocommit(self, conn)[source]¶
- MySql connection gets autocommit in a different way. - Parameters
- conn (connection object.) – connection to get autocommit setting from. 
- Returns
- connection autocommit setting 
- Return type
 
 - 
static _serialize_cell(cell, conn)[source]¶
- MySQLdb converts an argument to a literal when passing those separately to execute. Hence, this method does nothing. 
 - 
get_iam_token(self, conn)[source]¶
- Uses AWSHook to retrieve a temporary password to connect to MySQL Port is required. If none is provided, default 3306 is used 
 - 
bulk_load_custom(self, table, tmp_file, duplicate_key_handling='IGNORE', extra_options='')[source]¶
- A more configurable way to load local data from a file into the database. - Warning - According to the mysql docs using this function is a security risk. If you want to use it anyway you can do so by setting a client-side + server-side option. This depends on the mysql client library used. - Parameters
- table (str) – The table were the file will be loaded into. 
- tmp_file (str) – The file (name) that contains the data. 
- duplicate_key_handling (str) – - Specify what should happen to duplicate data. You can choose either IGNORE or REPLACE. 
- extra_options (str) – - More sql options to specify exactly how to load the data. 
 
 
 
-