{"id":18369,"date":"2024-05-07T13:45:41","date_gmt":"2024-05-07T08:15:41","guid":{"rendered":"https:\/\/opstree.com\/blog\/?p=18369"},"modified":"2024-05-14T17:31:22","modified_gmt":"2024-05-14T12:01:22","slug":"azure-synapse-social-media-analytics-solution","status":"publish","type":"post","link":"https:\/\/opstree.com\/blog\/2024\/05\/07\/azure-synapse-social-media-analytics-solution\/","title":{"rendered":"Azure Synapse Social Media Analytics Solution"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">Social Media is changing the ways we consume the internet. Users from almost every background have a social media presence and dedicate a significant amount of time to using social media. <\/span><\/p>\r\n<p><span style=\"font-weight: 400;\">So, it becomes equally important for businesses including enterprises to monitor social media metrics. <\/span><span style=\"font-weight: 400;\">This not only helps in staying informed about trends but also helps in gathering customer feedback and building a brand reputation. <\/span><\/p>\r\n<p><span style=\"font-weight: 400;\">To achieve this, building a comprehensive social media monitoring platform is crucial.\u00a0<\/span><span style=\"font-weight: 400;\">This blog post will explore how Azure Synapse can be leveraged to create such a platform, from data gathering to insights visualization.<\/span><\/p>\r\n<p><!--more--><\/p>\r\n<h2><b>Architecture Diagram<\/b> <img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-18371\" src=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/image-1.png\" alt=\"\" width=\"667\" height=\"209\" srcset=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/image-1.png 1026w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/image-1-300x94.png 300w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/image-1-1024x321.png 1024w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/image-1-768x241.png 768w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/h2>\r\n<ul>\r\n<li style=\"font-weight: 400;\"><b>Data Ingestion: <\/b><span style=\"font-weight: 400;\">The solution facilitates the ingestion of social media data from diverse sources such as Twitter, news feeds, and other APIs, ensuring a continuous flow of relevant data for analysis.<\/span><\/li>\r\n<li style=\"font-weight: 400;\"><b>Data Processing:<\/b><span style=\"font-weight: 400;\"> Once ingested, the data undergoes a series of processing steps facilitated by Azure services such as Azure Storage, Azure Synapse Analytics, Language Service, Translator Service, and Azure Maps. These services work in tandem to cleanse, transform, and enrich the data, ensuring its quality and enhancing its value through language detection, translation, and geographical enrichment.<\/span><\/li>\r\n<\/ul>\r\n<ul>\r\n<li style=\"font-weight: 400;\"><b>Analytics and Insights: <\/b><span style=\"font-weight: 400;\">With the processed data at hand, the Solution Accelerator leverages the analytics capabilities of Azure Synapse Analytics to derive actionable insights. Through advanced analytics techniques, sentiment analysis, and trend detection, organizations can unlock valuable insights into user behavior, sentiment trends, and emerging topics.<\/span><\/li>\r\n<li style=\"font-weight: 400;\"><b>Visualization:<\/b><span style=\"font-weight: 400;\"> The insights derived from the analytics pipeline are brought to life through intuitive visualizations powered by Power BI. Interactive dashboards, charts, and reports enable stakeholders to explore and understand the data effortlessly, facilitating informed decision-making and strategic planning<\/span><\/li>\r\n<\/ul>\r\n<p>In this blog, we&#8217;re discussing a GitHub repository offered by Microsoft, which serves as an Azure Social Media Analytics Solution Accelerator. This template streamlines the process of establishing a solution for analyzing social media data through Azure services. To follow along with our discussion, you&#8217;ll need to clone this repository: <a href=\"https:\/\/github.com\/microsoft\/Azure-Social-Media-Analytics-Solution-Accelerator\" target=\"_new\" rel=\"noreferrer noopener\">https:\/\/github.com\/microsoft\/Azure-Social-Media-Analytics-Solution-Accelerator<\/a>.<\/p>\r\n<h2><b>Getting Started With Azure Synapse Analytics<br \/><\/b><\/h2>\r\n<p>You&#8217;ll need an Azure subscription. Some familiarity with Azure Synapse Analytics, Azure Cognitive Services, Azure Maps, and Power BI could be beneficial, but it&#8217;s not mandatory.<\/p>\r\n<ol>\r\n<li style=\"font-weight: 400;\"><a href=\"https:\/\/azure.microsoft.com\/en-us\/services\/synapse-analytics\/\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">Azure Synapse Analytics<\/span><\/a><\/li>\r\n<li style=\"font-weight: 400;\"><a href=\"https:\/\/azure.microsoft.com\/en-us\/services\/cognitive-services\/text-analytics\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">Azure Text Analytics<\/span><\/a><\/li>\r\n<li style=\"font-weight: 400;\"><a href=\"https:\/\/azure.microsoft.com\/en-us\/services\/cognitive-services\/translator\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">Azure Translator<\/span><\/a><\/li>\r\n<li style=\"font-weight: 400;\"><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/azure-maps\/about-azure-maps\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">Azure Maps<\/span><\/a><\/li>\r\n<li style=\"font-weight: 400;\"><a href=\"https:\/\/docs.microsoft.com\/en-us\/power-bi\/fundamentals\/power-bi-overview\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">Power BI<\/span><\/a><\/li>\r\n<li style=\"font-weight: 400;\"><a href=\"https:\/\/developer.twitter.com\/en\/docs\/platform-overview\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">Twitter developer account<\/span><\/a><\/li>\r\n<li style=\"font-weight: 400;\"><a href=\"https:\/\/newsapi.org\/docs\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">News Feed API account<\/span><\/a><\/li>\r\n<\/ol>\r\n<h3><b>Twitter developer account and News API<\/b><\/h3>\r\n<ol>\r\n<li style=\"font-weight: 400;\">Go to the Twitter Developer Portal website and create a Twitter developer account if you don&#8217;t already have one<\/li>\r\n<li>After logging in to your Twitter Developer account, navigate to your project dashboard.<\/li>\r\n<li>In your project dashboard, go to the &#8220;Keys and tokens&#8221; tab. Generate your Consumer Keys (API Key and API Secret Key) and Authentication Tokens (Access Token and Access Token Secret). Save these keys securely.<\/li>\r\n<li>Visit the NewsAPI website at <a href=\"https:\/\/newsapi.org\/\" target=\"_new\" rel=\"noreferrer noopener\">https:\/\/newsapi.org\/<\/a>.<\/li>\r\n<li style=\"font-weight: 400;\">Register for an API key by signing up on the NewsAPI website. After registration, you&#8217;ll receive an API key. Copy and securely save this API key.<\/li>\r\n<\/ol>\r\n<h3><b>Create Azure Synapse Analytics, Azure Language Service, Azure Translator, Azure Maps and its related resources using template\u00a0<\/b><\/h3>\r\n<ol>\r\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Go to <\/span><a href=\"https:\/\/github.com\/microsoft\/Azure-Social-Media-Analytics-Solution-Accelerator\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">https:\/\/github.com\/microsoft\/Azure-Social-Media-Analytics-Solution-Acceleratoab<\/span> <span style=\"font-weight: 400;\">=readme-ov-file<\/span><\/a><span style=\"font-weight: 400;\"> and click deploy to azure to create synapse workspace and related resources using a custom template.\u00a0<\/span><\/li>\r\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Fill all the details accordingly and click review and create\u00a0<\/span><\/li>\r\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Click create It will do the following:\u00a0<\/span>\r\n<ul>\r\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Create Azure AI service (translator, language)\u00a0<\/span><\/li>\r\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Create Key vault\u00a0<\/span><\/li>\r\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Authorization role assignment\u00a0<\/span><\/li>\r\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Microsoft resources\/deployments\u00a0<\/span><\/li>\r\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Create azure storage account\u00a0<\/span><\/li>\r\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Create a synapse workspace\u00a0<\/span><\/li>\r\n<\/ul>\r\n<\/li>\r\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">It will start deployment and create the resources <\/span><\/li>\r\n<\/ol>\r\n<h3><b>Deploy Key Vault Secrets\u00a0<\/b><\/h3>\r\n<ol>\r\n<li><span style=\"font-weight: 400;\">Go to <\/span><a href=\"https:\/\/github.com\/microsoft\/Azure-Social-Media-Analytics-Solution-Accelerator\/blob\/main\/Deployment\/Deployment.md\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/microsoft\/Azure-Social-Media-Analytics-Solution-Accelerator\/b <\/a>l ob\/main\/Deployment\/Deployment.md, click Deploy to azure<\/li>\r\n<li><span style=\"font-weight: 400;\">Configure the ARM template,<\/span><\/li>\r\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">provide the values in template,<\/span>\r\n<ul>\r\n<li><span style=\"font-weight: 400;\">Twitter API Key\u00a0<\/span><\/li>\r\n<li><span style=\"font-weight: 400;\">Twitter API Secret Key\u00a0<\/span><\/li>\r\n<li><span style=\"font-weight: 400;\">Twitter Access Token\u00a0<\/span><\/li>\r\n<li><span style=\"font-weight: 400;\">Twitter Access Token Secret\u00a0<\/span><\/li>\r\n<li><span style=\"font-weight: 400;\">News API Key<\/span><\/li>\r\n<\/ul>\r\n<\/li>\r\n<li style=\"font-weight: 400;\">For Text analytics key, endpoint and region go to language service\r\n<ul>\r\n<li style=\"font-weight: 400;\">Under Resource Management, Select Keys and Endpoint.<\/li>\r\n<li style=\"font-weight: 400;\">Copy Key1, Endpoint and Region.<\/li>\r\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Paste your key1, region and endpoint in template.\u00a0<\/span><\/li>\r\n<\/ul>\r\n<\/li>\r\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">For translator key, region and endpoint, go to translator service.<\/span>\r\n<ul>\r\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Under &#8220;Resource Management&#8221;, select Keys and Endpoint.<\/span><\/li>\r\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Copy Key1 and under Web API copy &#8220;Text Translation&#8221; for endpoint and region.\u00a0<\/span><\/li>\r\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Paste the key and endpoint in template.<\/span><\/li>\r\n<\/ul>\r\n<\/li>\r\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">For maps Key, go to maps service.<\/span>\r\n<ul>\r\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Go to Azure Maps Account, Under settings click Authentication.\u00a0<\/span><\/li>\r\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Copy &#8220;Primary key&#8221; and paste it on template.\u00a0<\/span><\/li>\r\n<\/ul>\r\n<\/li>\r\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Click review and create, click create.<\/span><\/li>\r\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">It will deploy all the values in your key vault which you have created earlier.\u00a0<\/span>\u00a0<\/li>\r\n<\/ol>\r\n<h3><strong>Access Control<\/strong><\/h3>\r\n<ul>\r\n<li style=\"list-style-type: none;\">\r\n<ul>\r\n<li style=\"list-style-type: none;\">\u00a0<\/li>\r\n<\/ul>\r\n<\/li>\r\n<\/ul>\r\n<ul>\r\n<li style=\"list-style-type: none;\">\u00a0<\/li>\r\n<\/ul>\r\n<ol>\r\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Add Azure Synapse to Azure Key Vault\u00a0<\/span>\r\n<ul>\r\n<li style=\"font-weight: 400;\">Navigate to the Key Vault created in the previous step.<\/li>\r\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Access its policies by clicking on &#8220;Access policies,&#8221; then select &#8220;+ Add Access Policy.&#8221; In the new window, choose &#8220;Get&#8221; and &#8220;List&#8221; under &#8220;Secret Permissions.&#8221; <img loading=\"lazy\" decoding=\"async\" class=\"wp-image-18379 aligncenter\" src=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/keyvalut-access-policy1.png\" alt=\"\" width=\"424\" height=\"301\" srcset=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/keyvalut-access-policy1.png 834w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/keyvalut-access-policy1-300x213.png 300w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/keyvalut-access-policy1-768x546.png 768w\" sizes=\"(max-width: 424px) 85vw, 424px\" \/><\/span><\/li>\r\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">In the &#8220;Select principal&#8221; option, include the name of your Synapse resource to be added to the Key Vault, then click &#8220;Save.&#8221; <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-18378\" src=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/keyvalut-accesspolicy2.png\" alt=\"\" width=\"1122\" height=\"583\" srcset=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/keyvalut-accesspolicy2.png 1122w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/keyvalut-accesspolicy2-300x156.png 300w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/keyvalut-accesspolicy2-1024x532.png 1024w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/keyvalut-accesspolicy2-768x399.png 768w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/span><\/li>\r\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Choose &#8220;Review + create&#8221; and then save the modifications. <img loading=\"lazy\" decoding=\"async\" class=\"wp-image-18377 aligncenter\" src=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/keyvvault-accesspolicy3.png\" alt=\"\" width=\"550\" height=\"166\" srcset=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/keyvvault-accesspolicy3.png 748w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/keyvvault-accesspolicy3-300x91.png 300w\" sizes=\"(max-width: 550px) 85vw, 550px\" \/><\/span><\/li>\r\n<\/ul>\r\n<\/li>\r\n<li style=\"font-weight: 400;\">To ensure your IP address is granted access to Synapse,\r\n<ul>\r\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Head to the Synapse resource you set up earlier. <\/span><\/li>\r\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Navigate to &#8220;Networking&#8221; under &#8220;Security&#8221; on the left side of the page. <\/span><\/li>\r\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">In the middle of the screen, select &#8220;+ Add client IP.&#8221; <img loading=\"lazy\" decoding=\"async\" class=\"wp-image-18376 aligncenter\" src=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/synapse-network.png\" alt=\"\" width=\"437\" height=\"268\" srcset=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/synapse-network.png 835w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/synapse-network-300x184.png 300w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/synapse-network-768x471.png 768w\" sizes=\"(max-width: 437px) 85vw, 437px\" \/><\/span><\/li>\r\n<\/ul>\r\n<\/li>\r\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">To adjust the permissions for your storage account, <\/span>\r\n<ul>\r\n<li style=\"font-weight: 400;\">head to the Azure Data Lake Storage Account associated with your Synapse Workspace. Go to &#8220;Access Control (IAM)&#8221; and select &#8220;+ Add&#8221; followed by &#8220;Add role assignment.&#8221;<\/li>\r\n<li style=\"font-weight: 400;\">Next, find and choose the &#8220;Storage Blob Data Contributor&#8221; role, then click &#8220;Next.&#8221;<\/li>\r\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Proceed by clicking &#8220;+ Select members,&#8221; search for and select your username, and click &#8220;Select. <\/span><\/li>\r\n<li style=\"font-weight: 400;\">Finally, review the changes and assign them by clicking &#8220;Review and assign&#8221; at the bottom.<\/li>\r\n<\/ul>\r\n<\/li>\r\n<\/ol>\r\n<h3><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-18393 aligncenter\" src=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/storage-ac-role.png\" alt=\"\" width=\"644\" height=\"252\" srcset=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/storage-ac-role.png 1226w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/storage-ac-role-300x117.png 300w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/storage-ac-role-1024x400.png 1024w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/storage-ac-role-768x300.png 768w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/storage-ac-role-1200x469.png 1200w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/> <strong>Organise your assets and import your data.<\/strong><\/h3>\r\n<ol>\r\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">To equip your Spark cluster with necessary libraries, follow these steps: <\/span>\r\n<ul>\r\n<li>Open your Synapse workspace.<\/li>\r\n<li style=\"font-weight: 400;\">In the Studio, head to the Manage tab, then proceed to Apache Spark pools.<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-18392\" src=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/apache-sparkpool-1024x329.png\" alt=\"\" width=\"840\" height=\"270\" srcset=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/apache-sparkpool-1024x329.png 1024w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/apache-sparkpool-300x97.png 300w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/apache-sparkpool-768x247.png 768w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/apache-sparkpool-1200x386.png 1200w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/apache-sparkpool.png 1315w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/li>\r\n<li>Find your deployed Spark Pool, click the ellipsis (&#8230;), and choose Packages.<\/li>\r\n<li style=\"font-weight: 400;\">Hit Upload, then pick the requirements.txt file from the cloned repository.<\/li>\r\n<\/ul>\r\n<\/li>\r\n<li style=\"font-weight: 400;\">set up your Key Vault Linked Service:\r\n<ul>\r\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Launch the Synapse workspace.<\/span><\/li>\r\n<li style=\"font-weight: 400;\">Head to the Manage Hub and select &#8220;Linked services&#8221; under &#8220;External connection.&#8221;<\/li>\r\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Hit + New, then choose Azure Key Vault. From the &#8220;Azure Subscription&#8221; dropdown, select your solution&#8217;s subscription, and from the &#8220;Azure key vault name&#8221; dropdown, choose your Key Vault name.<\/span><\/li>\r\n<li style=\"font-weight: 400;\">Rename the linked service to KeyVaultLinkedService. Test the connection and save your settings.<img loading=\"lazy\" decoding=\"async\" class=\"wp-image-18391 aligncenter\" src=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/kv-linked-svc2.png\" alt=\"\" width=\"333\" height=\"339\" srcset=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/kv-linked-svc2.png 614w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/kv-linked-svc2-295x300.png 295w\" sizes=\"(max-width: 333px) 85vw, 333px\" \/><\/li>\r\n<\/ul>\r\n<\/li>\r\n<\/ol>\r\n<h3>\u00a0 <b>Upload Country Coordinates Dataset<\/b><b>\u00a0<\/b><\/h3>\r\n<ol>\r\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Open Synapse Studio and head to the Data Hub. <\/span><\/li>\r\n<li style=\"font-weight: 400;\">Choose Linked.<\/li>\r\n<li style=\"font-weight: 400;\">Look for an item under Azure Data Lake Storage Gen2, likely named something like xxxxx(xxxxx- Primary).<\/li>\r\n<li style=\"font-weight: 400;\">Click on the container named &#8220;social media ad lsfs (Primary),&#8221; then hit &#8220;New folder.&#8221; Name it &#8220;CountryCoordinates&#8221; and create it.<img loading=\"lazy\" decoding=\"async\" class=\"wp-image-18389 aligncenter\" src=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/upload-coordinates.png\" alt=\"\" width=\"340\" height=\"333\" srcset=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/upload-coordinates.png 624w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/upload-coordinates-300x294.png 300w\" sizes=\"(max-width: 340px) 85vw, 340px\" \/><\/li>\r\n<li style=\"font-weight: 400;\">Within the &#8220;CountryCoordinates&#8221; folder, select Upload to add the .csv file &#8220;CountryCoordinates.csv.&#8221;<\/li>\r\n<\/ol>\r\n<h3><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-18390 aligncenter\" src=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/country-coordinates-1024x368.png\" alt=\"\" width=\"586\" height=\"211\" srcset=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/country-coordinates-1024x368.png 1024w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/country-coordinates-300x108.png 300w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/country-coordinates-768x276.png 768w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/country-coordinates-1200x431.png 1200w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/country-coordinates.png 1278w\" sizes=\"(max-width: 586px) 85vw, 586px\" \/> <b>Upload Notebooks\u00a0<\/b><\/h3>\r\n<ol>\r\n<li style=\"font-weight: 400;\">Let&#8217;s get started in your Synapse workspace:<\/li>\r\n<li style=\"font-weight: 400;\">Head to Develop and click the plus sign (+), then choose Import to pick all notebooks from this repository&#8217;s folder.<img loading=\"lazy\" decoding=\"async\" class=\"wp-image-18388 aligncenter\" src=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/develop-upload-nb1.png\" alt=\"\" width=\"367\" height=\"249\" srcset=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/develop-upload-nb1.png 577w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/develop-upload-nb1-300x204.png 300w\" sizes=\"(max-width: 367px) 85vw, 367px\" \/><\/li>\r\n<li style=\"font-weight: 400;\">For each notebook, select &#8220;Attach to&#8221; &gt; &#8220;spark1&#8221; from the top dropdown menu.<\/li>\r\n<\/ol>\r\n<h3><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-18394 aligncenter\" src=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/upload-nb2-1024x458.png\" alt=\"\" width=\"580\" height=\"259\" srcset=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/upload-nb2-1024x458.png 1024w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/upload-nb2-300x134.png 300w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/upload-nb2-768x344.png 768w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/upload-nb2-1200x537.png 1200w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/upload-nb2.png 1294w\" sizes=\"(max-width: 580px) 85vw, 580px\" \/> <b>Set up Pipelines\u00a0<\/b><\/h3>\r\n<ol>\r\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">In Synapse workspace, Navigate to Integrate and click the plus sign (+), then opt for Pipeline.<img loading=\"lazy\" decoding=\"async\" class=\" wp-image-18395 aligncenter\" src=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/integrate-pipeline1.png\" alt=\"\" width=\"348\" height=\"254\" srcset=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/integrate-pipeline1.png 510w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/integrate-pipeline1-300x219.png 300w\" sizes=\"(max-width: 348px) 85vw, 348px\" \/><\/span><\/li>\r\n<li style=\"font-weight: 400;\">Once &#8220;Pipeline 1&#8221; shows up, click on the three dots (&#8230;) at the top right corner. Select Rename and update the pipeline name to &#8220;Process_News_and_Twitter_Data_Pipeline.&#8221;<\/li>\r\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Hit the curly braces {} icon at the top right corner to open the Code window.<\/span><\/li>\r\n<li style=\"font-weight: 400;\">Copy and paste the contents of &#8220;Process_News_and_Twitter_Data_Pipeline.json.<img loading=\"lazy\" decoding=\"async\" class=\"wp-image-18387 aligncenter\" src=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/pipeline-code.png\" alt=\"\" width=\"386\" height=\"294\" srcset=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/pipeline-code.png 817w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/pipeline-code-300x228.png 300w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/pipeline-code-768x585.png 768w\" sizes=\"(max-width: 386px) 85vw, 386px\" \/><\/li>\r\n<li style=\"font-weight: 400;\">Click OK to apply. Now, click Publish all at the top of the page.<\/li>\r\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Click Publish all at the top of the page. <img loading=\"lazy\" decoding=\"async\" class=\"wp-image-18386 aligncenter\" src=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/publish-changes.png\" alt=\"\" width=\"335\" height=\"332\" srcset=\"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/publish-changes.png 633w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/publish-changes-300x297.png 300w, https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/publish-changes-150x150.png 150w\" sizes=\"(max-width: 335px) 85vw, 335px\" \/><\/span><\/li>\r\n<li style=\"font-weight: 400;\">Next, click Add trigger, choose &#8220;Trigger now,&#8221; and populate the parameter to trigger the pipeline.<\/li>\r\n<\/ol>\r\n<h3><em><strong>Let&#8217;s get started with the Power BI report template:<\/strong><\/em><\/h3>\r\n<ol>\r\n<li>Open the Power BI report template provided in this repository.<\/li>\r\n<li>When prompted, enter the Synapse Serverless SQL endpoint and default SQLPool\/database name.<\/li>\r\n<li>Head to the Synapse Workspace overview page in the Azure Portal and copy the Serverless SQL endpoint.<\/li>\r\n<li>Once all tables are loaded, select Refresh, and you&#8217;ll see the dashboard with three pages.<\/li>\r\n<\/ol>\r\n<h3>Conclusion<\/h3>\r\n<p>The Azure Social Media Analytics Solution Accelerator provides a comprehensive framework for organizations to harness the power of social media data. By seamlessly integrating Azure services for data ingestion, processing, analytics, and visualization, this solution empowers businesses to derive actionable insights and make informed decisions. With its user-friendly approach and robust capabilities, organizations can stay ahead of the curve in understanding user behavior, sentiment trends, and emerging topics in the dynamic world of social media. By leveraging this solution, businesses can unlock new opportunities for growth and success in the digital landscape.<\/p>\r\n<p><strong>Blog Pundit:<\/strong> <a href=\"https:\/\/opstree.com\/blog\/\/author\/sandeep7c51ad81ba\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Sandeep Rawat<\/strong><\/a><\/p>\r\n<!-- \/wp:paragraph -->\r\n\r\n<!-- wp:paragraph -->\r\n<p><a href=\"https:\/\/www.opstree.com\/contact-us?utm_source=wordpress&amp;utm_campaign=AWS-Gateway-LoadBalancer-A-Load-Balancer-that-we-deserve&amp;utm_id=Blog\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Opstree<\/strong> <\/a>is an End to End DevOps solution provider<\/p>\r\n<!-- \/wp:paragraph -->\r\n\r\n<!-- wp:buttons -->\r\n<div class=\"wp-block-buttons\"><!-- wp:button {\"className\":\"is-style-fill\"} -->\r\n<div class=\"wp-block-button is-style-fill\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/www.opstree.com\/contact-us\" target=\"_blank\" rel=\"noreferrer noopener\">CONTACT US<\/a><\/div>\r\n<!-- \/wp:button --><\/div>\r\n<!-- \/wp:buttons -->\r\n\r\n<!-- wp:paragraph {\"align\":\"center\"} -->\r\n<p class=\"has-text-align-center\"><strong>Connect Us <\/strong><\/p>","protected":false},"excerpt":{"rendered":"<p>Social Media is changing the ways we consume the internet. Users from almost every background have a social media presence and dedicate a significant amount of time to using social media. So, it becomes equally important for businesses including enterprises to monitor social media metrics. This not only helps in staying informed about trends but &hellip; <a href=\"https:\/\/opstree.com\/blog\/2024\/05\/07\/azure-synapse-social-media-analytics-solution\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Azure Synapse Social Media Analytics Solution&#8221;<\/span><\/a><\/p>\n","protected":false},"author":244582678,"featured_media":18403,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","jetpack_post_was_ever_published":true,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[768739340],"tags":[768739341,768739339],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2024\/05\/WhatsApp-Image-2024-05-07-at-3.08.39-PM.jpeg","jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pfDBOm-4Mh","jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/posts\/18369"}],"collection":[{"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/users\/244582678"}],"replies":[{"embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/comments?post=18369"}],"version-history":[{"count":13,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/posts\/18369\/revisions"}],"predecessor-version":[{"id":18463,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/posts\/18369\/revisions\/18463"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/media\/18403"}],"wp:attachment":[{"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/media?parent=18369"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/categories?post=18369"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/tags?post=18369"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}