Azure Databricks feature store support for Azure MySQL server
As per the documentation of Azure databricks feature-store, it has online feature store support for Azure MySQL database. I have a offline feature store named
recommendation.features
and trying to publish it to Azure MySQL db. In MySQL server I have created a database with name
recommendation
by following the documentation. When I was trying to publish with the below code, I was expected to create a table named
features
and write the data to that table. But I was getting the below error. I have enabled the firewall as well.
from databricks.feature_store.online_store_spec import AzureMySqlSpec
hostname = <Host Name>.mysql.database.azure.com
port = 3306
user = '<Admin User Name>'
password = '<Password>'
data_base ='<Azure MySQL DB>'
table_name = "recommendation.features"
online_store = AzureMySqlSpec(hostname, port, user, password, data_base, table_name)
fs.publish_table(
name="recommendation.features",
online_store=online_store,
mode = "overwrite"
)
Error:
java.sql.SQLInvalidAuthorizationSpecException: Could not connect: Access denied for user '<User ID>'@'<IP Address>' (using password: YES)
But the same online publishing of feature store works for Azure SQL server database. With the below code.
from databricks.feature_store.online_store_spec \
import AzureSqlServerSpec
hostname = '<Azure SQL Server>.database.windows.net'
port = 1433
user = '<Master User>'
password = '<Password>'
database_name = '<Azure SQL DB>'
# Name of table in online store i.e. in Azure SQL DB
table_name = 'recommendation.features'
online_store = AzureSqlServerSpec(\
hostname = hostname, \
port = port, \
user = user, \
password = password, \
database_name = database_name, \
table_name = table_name)
# Publish features into the online store
fs.publish_table(
name='recommendation.features',
online_store=online_store,
mode='overwrite'
)
So, does Azure Databricks feature store supports MySQL database for online feature store or it supports only Azure SQL database?