Often the workloads of modern analytics need complex augmentations or transformations that require using third-party services or custom code. Using external libraries and services complicate the pipelines of data. In order to simplify the remote services, the team of Snowflake has created some external functions that enable customers to invoke custom code and external APIs within Snowflake and blend the query results.
This article gives you complete insights into Snowflake external function features with the latest updates and announcements. Opting for Snowflake training helps you to know the detailed insights about Snowflake external functions.
Snowflake external functions support for Azure API management and AWS API gateway:
Previously, Snowflake had announced external functions of general availability (GA) for Microsoft Azure API management and AWS API gateway. In June 2020, initially, the external functions of the Snowflake were released, which is now one of the significant features in building Snowflake’s extensible data pipelines.
Machine Learning Scoring:
Users can train Machine Learning (ML) models by using a platform to deploy as a REST service. Using Snowflake external functions, the endpoint model can be an endpoint that has been invoked to score data within Snowflake. All these functions are executed with familiar commands and SQL statements. By having the external functions, the users will no longer be required in exporting to score data from Snowflake. Users can update tables through predictions by calling SQL external functions using the Snowflake interface.
Geocoding:
Geocoding offers geographical context for the string in order to represent a location. In general, a geocoder does the below things:
- Maps string to a latitude/longitude geographic location.
- Parses string location.
- Returns geographic location and conceptual information like state, country, and city.
Typically, Geocoders have many sophisticated logics behind it that are very complex in the implementation. Hence, users commonly use APIs like Mapbox API, Geocoding API, and so on.
External Tokenization:
The process of replacing sensitive elements with unique numbers is known as tokenization. Tokens can be mapped back to sensitive elements without having exploitable value. External tokenizations enable companies in tokenizing sensitive data by using in-house customer solutions. Few companies dramatically detokenize data for authorized customers. It leads to providing enhanced data security to the sensitive data in a company.
Custom Business Logic:
By using external functions, users can call and write their own remote services. These services can be written in an HTTP server stack that includes some of the compute services like Microsoft Azure functions and AWS Lambda, and some other programming languages like C#, Python, Go, etc. That makes it easy to write business custom logic.
Amazon API Gateway:
Snowflake had announced an external function support preview for the Amazon API gateway. It enables the customers of Snowflake with higher security requirements to communicate between virtual clouds through Private Link. This feature of Snowflake needs a Business Critical edition.
Asynchronous External Functions:
Snowflake released asynchronous external functions support in December 2020, enabling the customers to write remote services that actually process all the requests without any blocking of the initial request. In order to reduce the timeout errors, the asynchronous external functions use a method called polling. The timeout errors actually occur when there are heavily remote services, remote computations, or data volumes are large. Particularly, this feature is used for the customers who might have some service like call long-running like translation services.
Templates and Examples:
At present, there are many templates and examples are available to help the users in getting started with some external features. Let’s know them in detail.
Cloud Deployment Templates:
External functions need customers to set up the security roles of cloud-native proxy service and Microsoft Azure for JSON data formatting.
Github Repository:
Besides the common examples provided for the Snowflake documentation, one must have to see Github’s Snowflake external functions repository.
Conclusion:
The external function features of Snowflake can eliminate the need to re-import and export data effectively while using the services of third-party and making the data pipelines effectively. Hope this article provided the latest updates on how the external functions can help your company.
Guest article written by: I’m Anji Velagana; a B.Tech graduate who turns into Freelance Content Writer & Pursuing Masters in Journalism & Mass Communication with Passion.