SQL数据库集成#
featuretools_sql是一个附加库,支持从关系数据库自动创建EntitySet。目前,featuretools_sql与以下系统兼容:
MySQLPostgreSQLSnowflake
featuretools_sql库提供的DBConnector对象用于连接到数据库管理系统。
安装featuretools_sql#
使用pip安装
-m pip install "featuretools[sql]"
连接到您的数据库实例#
根据您选择的数据库管理系统(DBMS),您可能需要向 DBConnector 对象提供不同的信息片段。如果您想连接到一个 MySQL 实例,您必须将字符串 "mysql" 传递给 system_name 参数。如果您想连接到一个 PostgreSQL 实例,您必须将字符串 "postgresql" 传递给 system_name 参数。如果您想连接到一个 Snowflake 实例,您必须将字符串 "snowflake" 传递给 system_name 参数。以下是连接到 PostgreSQL 数据库的对象构造函数的示例调用:
从featuretools_sql.connector中导入DBConnector
connector_object = DBConnector(
system_name="postgresql",
user="postgres",
host="localhost",
port="5432",
database="postgres",
schema="public",
)
请注意,选择关系型数据库管理系统会影响所需的参数 – 例如,如果您要连接到一个MySQL实例,就不需要schema参数。
转换为实体集#
您可以调用get_entityset方法来指示DBConnector对象构建一个EntitySet。该方法将循环遍历数据库中的所有表,并将它们复制到数据框中。然后,它将填充关系数据结构。最后,它将这两个参数传递到Featuretools中的EntitySet构造函数中,并返回该对象。
python es = connector_object.get_entityset()可选地,如果您只想包含数据库中的部分表,可以将表名传递给select_only参数。python es = connector_object.get_entityset(select_only=["Products", "Transactions"])
检查EntitySet的成员数据#
您可以检查DBConnector对象的成员数据,以确保它正确导入了数据。要访问它导入的数据框,可以访问.dataframes属性。要访问关系数据结构,请访问.relationships属性。如果您想将EntitySet可视化为图形,可以调用es.plot()。