Solution Idea
If you'd like to see us expand this article with more information, such as potential use cases, alternative services, implementation considerations, or pricing guidance, let us know with GitHub Feedback!
Develop sophisticated, transformational apps using state of the art machine learning algorithms and integrated visualization tools to get actionable insights and analytics.
Architecture
Download an SVG of this architecture.
The data flows through the solution as follows:
- Data could come from various sources, such as Event Hubs for high volumes of data ingestion, or data that's uploaded to Blob Storage. An Azure Function App is triggered as new data is received.
- The Azure Function App calls the Text Analytics API in Azure Cognitive Services to analyze the data (for example, for Sentiment Analysis). The results of the analysis are returned in JSON format.
- The Azure Function App stores the data and results from Text Analytics in Azure Database for MySQL.
- Azure Machine Learning Studio can be used to further analyze the data, using custom Machine Learning algorithms to gain further insights.
- The MySQL Power BI Connector provides options for data visualization and analysis in Power BI.
Components
- Azure Functions
- Event Hubs
- Blob storage
- Text Analytics Api
- Azure Database for MySQL
- Azure Machine Learning Studio
- Power BI
Alternatives
The use of Azure Functions to process data as it is received is just one approach for how data could be processed. For scenarios where a large amount of data already exists in the data source, then other forms of batch processing should be considered.
Azure Stream Analytics provides event-processing for high volumes of fast streaming data from multiple sources simultaneously and includes integration options with Power BI.
For comparisons of other alternatives, see:
Considerations
Azure Cognitive Services Text Analytics API has a maximum size of 5120 characters for a single document and a maximum request size of 1 MB. View the data and rate limits.
Next steps
The following solution ideas feature Azure Database for MySQL: