SQL数据库集成#
featuretools_sql
是一个附加库,支持从关系数据库自动创建EntitySet
。目前,featuretools_sql
与以下系统兼容:
MySQL
PostgreSQL
Snowflake
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()
。