{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,1]],"date-time":"2025-10-01T16:33:22Z","timestamp":1759336402425},"reference-count":88,"publisher":"Association for Computing Machinery (ACM)","issue":"11","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Proc. VLDB Endow."],"published-print":{"date-parts":[[2022,7]]},"abstract":"<jats:p>User-defined functions (UDFs) have long been used as the de facto way to extend the capabilities of data management systems. However, they are restricted to the specificities of each DBMS, and recent demands for advanced analytics have increased the need for complex UDFs that may require execution of arbitrary computation written in any programming language, management of library dependencies, portability across environments and engines, and resource isolation. These requirements go beyond what traditional UDFs were designed for, and have given rise to containerized UDFs that enable encapsulation and portability. However, this approach is nascent and can result in significant performance penalties and usability issues. In this paper, we present the first study that spans all stages of containerized UDFs' life cycle, performance bottlenecks in their execution, and extensibility to support different engines.<\/jats:p>\n          <jats:p>Our experiments show that the performance of containerized UDF execution can be greatly affected by system design choices and that there are many trade-offs to consider. For example, regarding the method of communication with the containerized UDF, we show that binary-based implementations minimize overheads and are more than 2.4x faster than widely used text-based ones. Adopting a newer general-purpose communication method such as Arrow Flight can improve performance dramatically, causing a minimal ~10% slowdown compared to non-containerized UDFs. Additionally, containerized UDF start times vary wildly due to program size and complexity, from .07s to 7s in our experiments. Our insights can help DBMS developers make appropriate choices based on individual use cases when designing their systems.<\/jats:p>","DOI":"10.14778\/3551793.3551860","type":"journal-article","created":{"date-parts":[[2022,9,29]],"date-time":"2022-09-29T22:25:03Z","timestamp":1664490303000},"page":"3158-3171","source":"Crossref","is-referenced-by-count":8,"title":["Containerized execution of UDFs"],"prefix":"10.14778","volume":"15","author":[{"given":"Karla","family":"Saur","sequence":"first","affiliation":[{"name":"Microsoft"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Tara","family":"Mirmira","sequence":"additional","affiliation":[{"name":"University of California"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Konstantinos","family":"Karanasos","sequence":"additional","affiliation":[{"name":"Meta"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jes\u00fas","family":"Camacho-Rodr\u00edguez","sequence":"additional","affiliation":[{"name":"Microsoft"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2022,9,29]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"2022. Apache Arrow. https:\/\/arrow.apache.org\/  2022. Apache Arrow. https:\/\/arrow.apache.org\/"},{"key":"e_1_2_1_2_1","unstructured":"2022. Apache Spark. https:\/\/spark.apache.org\/  2022. Apache Spark. https:\/\/spark.apache.org\/"},{"key":"e_1_2_1_3_1","unstructured":"2022. Apache Thrift. https:\/\/thrift.apache.org\/  2022. Apache Thrift. https:\/\/thrift.apache.org\/"},{"key":"e_1_2_1_4_1","unstructured":"2022. Docker. https:\/\/www.docker.com\/  2022. Docker. https:\/\/www.docker.com\/"},{"key":"e_1_2_1_5_1","unstructured":"2022. Docker Hub. https:\/\/hub.docker.com\/  2022. Docker Hub. https:\/\/hub.docker.com\/"},{"key":"e_1_2_1_6_1","unstructured":"2022. Docker Hub Python Images. https:\/\/hub.docker.com\/_\/python\/  2022. Docker Hub Python Images. https:\/\/hub.docker.com\/_\/python\/"},{"key":"e_1_2_1_7_1","unstructured":"2022. Dragonfly. https:\/\/d7y.io\/en-us\/  2022. Dragonfly. https:\/\/d7y.io\/en-us\/"},{"key":"e_1_2_1_8_1","unstructured":"2022. HDInsight. https:\/\/azure.microsoft.com\/free\/hdinsight  2022. HDInsight. https:\/\/azure.microsoft.com\/free\/hdinsight"},{"key":"e_1_2_1_9_1","unstructured":"2022. JFrog Artifactory. https:\/\/jfrog.com\/artifactory\/  2022. JFrog Artifactory. https:\/\/jfrog.com\/artifactory\/"},{"key":"e_1_2_1_10_1","unstructured":"2022. Microsoft SQL Server. https:\/\/www.microsoft.com\/sql-server\/  2022. Microsoft SQL Server. https:\/\/www.microsoft.com\/sql-server\/"},{"key":"e_1_2_1_11_1","unstructured":"2022. MLFlow Rest API. https:\/\/www.mlflow.org\/docs\/latest\/rest-api.html  2022. MLFlow Rest API. https:\/\/www.mlflow.org\/docs\/latest\/rest-api.html"},{"key":"e_1_2_1_12_1","unstructured":"2022. numpy. https:\/\/numpy.org\/  2022. numpy. https:\/\/numpy.org\/"},{"key":"e_1_2_1_13_1","unstructured":"2022. Pandas UDF API - PySpark SQL Module. https:\/\/spark.apache.org\/docs\/latest\/api\/python\/reference\/api\/pyspark.sql.functions.pandas_udf.html  2022. Pandas UDF API - PySpark SQL Module. https:\/\/spark.apache.org\/docs\/latest\/api\/python\/reference\/api\/pyspark.sql.functions.pandas_udf.html"},{"key":"e_1_2_1_14_1","unstructured":"2022. pickle. https:\/\/docs.python.org\/3\/library\/pickle.html  2022. pickle. https:\/\/docs.python.org\/3\/library\/pickle.html"},{"key":"e_1_2_1_15_1","unstructured":"2022. pip - Requirements File Format. https:\/\/pip.pypa.io\/en\/stable\/reference\/requirements-file-format\/  2022. pip - Requirements File Format. https:\/\/pip.pypa.io\/en\/stable\/reference\/requirements-file-format\/"},{"key":"e_1_2_1_16_1","unstructured":"2022. PrestoDB. https:\/\/prestodb.io\/  2022. PrestoDB. https:\/\/prestodb.io\/"},{"key":"e_1_2_1_17_1","unstructured":"2022. scikit-learn. https:\/\/scikit-learn.org\/  2022. scikit-learn. https:\/\/scikit-learn.org\/"},{"key":"e_1_2_1_18_1","unstructured":"2022. SGDRegressor documentation refers to non-existent loss metric. https:\/\/github.com\/scikit-learn\/scikit-learn\/issues\/23375  2022. SGDRegressor documentation refers to non-existent loss metric. https:\/\/github.com\/scikit-learn\/scikit-learn\/issues\/23375"},{"key":"e_1_2_1_19_1","unstructured":"2022. Sigma Computing. https:\/\/www.sigmacomputing.com\/  2022. Sigma Computing. https:\/\/www.sigmacomputing.com\/"},{"key":"e_1_2_1_20_1","unstructured":"2022. sklearn.utils.fixes.MaskedArray removed in 0.23.0. https:\/\/github.com\/scikit-learn\/scikit-learn\/issues\/17198  2022. sklearn.utils.fixes.MaskedArray removed in 0.23.0. https:\/\/github.com\/scikit-learn\/scikit-learn\/issues\/17198"},{"key":"e_1_2_1_21_1","unstructured":"2022. Snowflake: Advantages of External Functions. https:\/\/docs.snowflake.com\/en\/sql-reference\/external-functions-introduction.html#advantages-of-external-functions  2022. Snowflake: Advantages of External Functions. https:\/\/docs.snowflake.com\/en\/sql-reference\/external-functions-introduction.html#advantages-of-external-functions"},{"key":"e_1_2_1_22_1","unstructured":"2022. Snowflake: Introduction to External Functions. https:\/\/docs.snowflake.com\/en\/sql-reference\/external-functions-introduction.html  2022. Snowflake: Introduction to External Functions. https:\/\/docs.snowflake.com\/en\/sql-reference\/external-functions-introduction.html"},{"key":"e_1_2_1_23_1","volume-title":"2nd USENIX Workshop on Hot Topics in Edge Computing (HotEdge 19)","author":"Abranches Marcelo","year":"2019","unstructured":"Marcelo Abranches , Sepideh Goodarzy , Maziyar Nazari , Shivakant Mishra , and Eric Keller . 2019 . Shimmy: Shared Memory Channels for High Performance {Inter-Container} Communication . In 2nd USENIX Workshop on Hot Topics in Edge Computing (HotEdge 19) . Marcelo Abranches, Sepideh Goodarzy, Maziyar Nazari, Shivakant Mishra, and Eric Keller. 2019. Shimmy: Shared Memory Channels for High Performance {Inter-Container} Communication. In 2nd USENIX Workshop on Hot Topics in Edge Computing (HotEdge 19)."},{"key":"e_1_2_1_24_1","volume-title":"Firecracker: Lightweight Virtualization for Serverless Applications. In 17th USENIX Symposium on Networked Systems Design and Implementation, NSDI","author":"Agache Alexandru","year":"2020","unstructured":"Alexandru Agache , Marc Brooker , Alexandra Iordache , Anthony Liguori , Rolf Neugebauer , Phil Piwonka , and Diana-Maria Popa . 2020 . Firecracker: Lightweight Virtualization for Serverless Applications. In 17th USENIX Symposium on Networked Systems Design and Implementation, NSDI 2020. 419--434. Alexandru Agache, Marc Brooker, Alexandra Iordache, Anthony Liguori, Rolf Neugebauer, Phil Piwonka, and Diana-Maria Popa. 2020. Firecracker: Lightweight Virtualization for Serverless Applications. In 17th USENIX Symposium on Networked Systems Design and Implementation, NSDI 2020. 419--434."},{"key":"e_1_2_1_25_1","volume-title":"Proceedings of the 6th Asia-Pacific Workshop on Systems. 1--9.","author":"Agarwal Kavita","unstructured":"Kavita Agarwal , Bhushan Jain , and Donald E. Porter . 2015. Containing the Hype . In Proceedings of the 6th Asia-Pacific Workshop on Systems. 1--9. Kavita Agarwal, Bhushan Jain, and Donald E. Porter. 2015. Containing the Hype. In Proceedings of the 6th Asia-Pacific Workshop on Systems. 1--9."},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.48550\/ARXIV.2204.03032"},{"key":"e_1_2_1_27_1","doi-asserted-by":"crossref","unstructured":"E. Anderson Z. Bai C. Bischof S. Blackford J. Demmel J. Dongarra J. Du Croz A. Greenbaum S. Hammarling A. McKenney and D. Sorensen. 1999. LAPACK Users' Guide (third ed.). Society for Industrial and Applied Mathematics Philadelphia PA.  E. Anderson Z. Bai C. Bischof S. Blackford J. Demmel J. Dongarra J. Du Croz A. Greenbaum S. Hammarling A. McKenney and D. Sorensen. 1999. LAPACK Users' Guide (third ed.). Society for Industrial and Applied Mathematics Philadelphia PA.","DOI":"10.1137\/1.9780898719604"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.14778\/3415478.3415560"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/2491956.2462180"},{"key":"e_1_2_1_30_1","volume-title":"Clipper: A low-latency online prediction serving system. In 14th {USENIX} Symposium on Networked Systems Design and Implementation ({NSDI} 17). 613--627.","author":"Crankshaw Daniel","year":"2017","unstructured":"Daniel Crankshaw , Xin Wang , Guilio Zhou , Michael J Franklin , Joseph E Gonzalez , and Ion Stoica . 2017 . Clipper: A low-latency online prediction serving system. In 14th {USENIX} Symposium on Networked Systems Design and Implementation ({NSDI} 17). 613--627. Daniel Crankshaw, Xin Wang, Guilio Zhou, Michael J Franklin, Joseph E Gonzalez, and Ion Stoica. 2017. Clipper: A low-latency online prediction serving system. In 14th {USENIX} Symposium on Networked Systems Design and Implementation ({NSDI} 17). 613--627."},{"key":"e_1_2_1_31_1","unstructured":"Criteo. 2022. Criteo 1TB Click Logs dataset. https:\/\/ailab.criteo.com\/download-criteo-1tb-click-logs-dataset\/  Criteo. 2022. Criteo 1TB Click Logs dataset. https:\/\/ailab.criteo.com\/download-criteo-1tb-click-logs-dataset\/"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.14778\/2824032.2824045"},{"key":"e_1_2_1_33_1","unstructured":"Databricks. 2022. Databricks Notebook-scoped Python libraries. https:\/\/docs.databricks.com\/libraries\/notebooks-python-libraries.html  Databricks. 2022. Databricks Notebook-scoped Python libraries. https:\/\/docs.databricks.com\/libraries\/notebooks-python-libraries.html"},{"key":"e_1_2_1_34_1","unstructured":"Docker. 2022. Best practices for writing Dockerfiles. https:\/\/docs.docker.com\/develop\/develop-images\/dockerfile_best-practices\/#use-multi-stage-builds  Docker. 2022. Best practices for writing Dockerfiles. https:\/\/docs.docker.com\/develop\/develop-images\/dockerfile_best-practices\/#use-multi-stage-builds"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.14778\/3407790.3407800"},{"key":"e_1_2_1_36_1","unstructured":"Google. 2022. Cloud Functions. https:\/\/cloud.google.com\/functions  Google. 2022. Cloud Functions. https:\/\/cloud.google.com\/functions"},{"key":"e_1_2_1_37_1","unstructured":"Google. 2022. Google Cloud Container Registry. https:\/\/cloud.google.com\/container-registry  Google. 2022. Google Cloud Container Registry. https:\/\/cloud.google.com\/container-registry"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.14778\/3489496.3489501"},{"key":"e_1_2_1_39_1","volume-title":"11th Conference on Innovative Data Systems Research, CIDR.","author":"Hagedorn Stefan","year":"2021","unstructured":"Stefan Hagedorn , Steffen Kl\u00e4be , and Kai-Uwe Sattler . 2021 . Putting Pandas in a Box . In 11th Conference on Innovative Data Systems Research, CIDR. Stefan Hagedorn, Steffen Kl\u00e4be, and Kai-Uwe Sattler. 2021. Putting Pandas in a Box. In 11th Conference on Innovative Data Systems Research, CIDR."},{"key":"e_1_2_1_40_1","volume-title":"Slacker: Fast distribution with lazy docker containers. In 14th {USENIX} Conference on File and Storage Technologies ({FAST} 16). 181--195.","author":"Harter Tyler","year":"2016","unstructured":"Tyler Harter , Brandon Salmon , Rose Liu , Andrea C Arpaci-Dusseau , and Remzi H Arpaci-Dusseau . 2016 . Slacker: Fast distribution with lazy docker containers. In 14th {USENIX} Conference on File and Storage Technologies ({FAST} 16). 181--195. Tyler Harter, Brandon Salmon, Rose Liu, Andrea C Arpaci-Dusseau, and Remzi H Arpaci-Dusseau. 2016. Slacker: Fast distribution with lazy docker containers. In 14th {USENIX} Conference on File and Storage Technologies ({FAST} 16). 181--195."},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1109\/MSST.2019.00-18"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.14778\/2350229.2350244"},{"key":"e_1_2_1_43_1","unstructured":"InfluxDB. 2022. Write socket-based user-defined functions (UDFs). https:\/\/docs.influxdata.com\/kapacitor\/v1.6\/guides\/socket_udf\/  InfluxDB. 2022. Write socket-based user-defined functions (UDFs). https:\/\/docs.influxdata.com\/kapacitor\/v1.6\/guides\/socket_udf\/"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1109\/IC2E.2018.00052"},{"key":"e_1_2_1_45_1","volume-title":"Karl Krauth, Neeraja Yadwadkar, Joseph Gonzalez, Raluca Ada Popa, Ion Stoica, and David A. Patterson.","author":"Jonas Eric","year":"2019","unstructured":"Eric Jonas , Johann Schleier-Smith , Vikram Sreekanti , Chia-Che Tsai , Anurag Khandelwal , Qifan Pu , Vaishaal Shankar , Joao Menezes Carreira , Karl Krauth, Neeraja Yadwadkar, Joseph Gonzalez, Raluca Ada Popa, Ion Stoica, and David A. Patterson. 2019 . Cloud Programming Simplified: A Berkeley View on Serverless Computing. Technical Report UCB\/EECS-2019-3. EECS Department, University of California , Berkeley. http:\/\/www2.eecs.berkeley.edu\/Pubs\/TechRpts\/2019\/EECS-2019-3.html Eric Jonas, Johann Schleier-Smith, Vikram Sreekanti, Chia-Che Tsai, Anurag Khandelwal, Qifan Pu, Vaishaal Shankar, Joao Menezes Carreira, Karl Krauth, Neeraja Yadwadkar, Joseph Gonzalez, Raluca Ada Popa, Ion Stoica, and David A. Patterson. 2019. Cloud Programming Simplified: A Berkeley View on Serverless Computing. Technical Report UCB\/EECS-2019-3. EECS Department, University of California, Berkeley. http:\/\/www2.eecs.berkeley.edu\/Pubs\/TechRpts\/2019\/EECS-2019-3.html"},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1109\/FAS-W.2017.147"},{"key":"e_1_2_1_47_1","volume-title":"Extending Relational Query Processing with ML Inference. In 10th Conference on Innovative Data Systems Research, CIDR 2020","author":"Karanasos Konstantinos","year":"2020","unstructured":"Konstantinos Karanasos , Matteo Interlandi , Fotis Psallidas , Rathijit Sen , Kwanghyun Park , Ivan Popivanov , Doris Xin , Supun Nakandala , Subru Krishnan , Markus Weimer , Yuan Yu , Raghu Ramakrishnan , and Carlo Curino . 2020 . Extending Relational Query Processing with ML Inference. In 10th Conference on Innovative Data Systems Research, CIDR 2020 , Amsterdam, The Netherlands, January 12--15 , 2020. Konstantinos Karanasos, Matteo Interlandi, Fotis Psallidas, Rathijit Sen, Kwanghyun Park, Ivan Popivanov, Doris Xin, Supun Nakandala, Subru Krishnan, Markus Weimer, Yuan Yu, Raghu Ramakrishnan, and Carlo Curino. 2020. Extending Relational Query Processing with ML Inference. In 10th Conference on Innovative Data Systems Research, CIDR 2020, Amsterdam, The Netherlands, January 12--15, 2020."},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/3375661"},{"key":"e_1_2_1_49_1","volume-title":"Accelerating Python UDFs in Vectorized Query Execution. In 12th Conference on Innovative Data Systems Research, CIDR.","author":"Kl\u00e4be Steffen","year":"2022","unstructured":"Steffen Kl\u00e4be , Robert DeSantis , Stefan Hagedorn , and Kai-Uwe Sattler . 2022 . Accelerating Python UDFs in Vectorized Query Execution. In 12th Conference on Innovative Data Systems Research, CIDR. Steffen Kl\u00e4be, Robert DeSantis, Stefan Hagedorn, and Kai-Uwe Sattler. 2022. Accelerating Python UDFs in Vectorized Query Execution. In 12th Conference on Innovative Data Systems Research, CIDR."},{"key":"e_1_2_1_50_1","unstructured":"Hyukjin Kwon. 2020. How to Manage Python Dependencies in PySpark. https:\/\/databricks.com\/blog\/2020\/12\/22\/how-to-manage-python-dependencies-in-pyspark.html  Hyukjin Kwon. 2020. How to Manage Python Dependencies in PySpark. https:\/\/databricks.com\/blog\/2020\/12\/22\/how-to-manage-python-dependencies-in-pyspark.html"},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1109\/IC2E.2018.00039"},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1109\/BigData50022.2020.9378142"},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1109\/UCC-Companion.2018.00054"},{"key":"e_1_2_1_54_1","unstructured":"Wes McKinney. 2019. Apache Arrow Flight. https:\/\/arrow.apache.org\/blog\/2019\/10\/13\/introducing-arrow-flight\/  Wes McKinney. 2019. Apache Arrow Flight. https:\/\/arrow.apache.org\/blog\/2019\/10\/13\/introducing-arrow-flight\/"},{"key":"e_1_2_1_55_1","unstructured":"Microsoft. 2022. Accelerated Networking. https:\/\/docs.microsoft.com\/en-us\/azure\/virtual-network\/create-vm-accelerated-networking-cli  Microsoft. 2022. Accelerated Networking. https:\/\/docs.microsoft.com\/en-us\/azure\/virtual-network\/create-vm-accelerated-networking-cli"},{"key":"e_1_2_1_56_1","unstructured":"Microsoft. 2022. Azure Container Registry. https:\/\/azure.microsoft.com\/services\/container-registry\/  Microsoft. 2022. Azure Container Registry. https:\/\/azure.microsoft.com\/services\/container-registry\/"},{"key":"e_1_2_1_57_1","unstructured":"Microsoft. 2022. Azure Container Registry Service Tiers. https:\/\/docs.microsoft.com\/en-us\/azure\/container-registry\/container-registry-skus  Microsoft. 2022. Azure Container Registry Service Tiers. https:\/\/docs.microsoft.com\/en-us\/azure\/container-registry\/container-registry-skus"},{"key":"e_1_2_1_58_1","unstructured":"Microsoft. 2022. Azure Data Lake Storage. https:\/\/azure.microsoft.com\/en-us\/services\/storage\/data-lake-storage\/  Microsoft. 2022. Azure Data Lake Storage. https:\/\/azure.microsoft.com\/en-us\/services\/storage\/data-lake-storage\/"},{"key":"e_1_2_1_59_1","unstructured":"Microsoft. 2022. Azure Functions. https:\/\/azure.microsoft.com\/services\/functions\/  Microsoft. 2022. Azure Functions. https:\/\/azure.microsoft.com\/services\/functions\/"},{"key":"e_1_2_1_60_1","unstructured":"Microsoft. 2022. Azure Functions hosting options: service limits. https:\/\/docs.microsoft.com\/en-us\/azure\/azure-functions\/functions-scale#service-limits  Microsoft. 2022. Azure Functions hosting options: service limits. https:\/\/docs.microsoft.com\/en-us\/azure\/azure-functions\/functions-scale#service-limits"},{"key":"e_1_2_1_61_1","unstructured":"Microsoft. 2022. Azure Machine Learning. https:\/\/docs.microsoft.com\/azure\/machine-learning\/  Microsoft. 2022. Azure Machine Learning. https:\/\/docs.microsoft.com\/azure\/machine-learning\/"},{"key":"e_1_2_1_62_1","unstructured":"Microsoft. 2022. Azure Virtual Network. https:\/\/docs.microsoft.com\/en-us\/azure\/virtual-network\/virtual-networks-overview  Microsoft. 2022. Azure Virtual Network. https:\/\/docs.microsoft.com\/en-us\/azure\/virtual-network\/virtual-networks-overview"},{"key":"e_1_2_1_63_1","unstructured":"Microsoft. 2022. Create Azure Arc-enabled SQL Managed Instance using Kubernetes tools. https:\/\/docs.microsoft.com\/en-us\/azure\/azure-arc\/data\/create-sql-managed-instance-using-kubernetes-native-tools  Microsoft. 2022. Create Azure Arc-enabled SQL Managed Instance using Kubernetes tools. https:\/\/docs.microsoft.com\/en-us\/azure\/azure-arc\/data\/create-sql-managed-instance-using-kubernetes-native-tools"},{"key":"e_1_2_1_64_1","unstructured":"Microsoft. 2022. Dv3 and Dsv3-series. https:\/\/docs.microsoft.com\/en-us\/azure\/virtual-machines\/dv3-dsv3-series  Microsoft. 2022. Dv3 and Dsv3-series. https:\/\/docs.microsoft.com\/en-us\/azure\/virtual-machines\/dv3-dsv3-series"},{"key":"e_1_2_1_65_1","unstructured":"Microsoft. 2022. Manage libraries for Apache Spark in Azure Synapse Analytics. https:\/\/docs.microsoft.com\/en-us\/azure\/synapse-analytics\/spark\/apache-spark-azure-portal-add-libraries  Microsoft. 2022. Manage libraries for Apache Spark in Azure Synapse Analytics. https:\/\/docs.microsoft.com\/en-us\/azure\/synapse-analytics\/spark\/apache-spark-azure-portal-add-libraries"},{"key":"e_1_2_1_66_1","unstructured":"Microsoft. 2022. NYC Taxi & Limousine Commission - yellow taxi trip records. https:\/\/docs.microsoft.com\/en-us\/azure\/open-datasets\/dataset-taxi-yellow?tabs=pyspark  Microsoft. 2022. NYC Taxi & Limousine Commission - yellow taxi trip records. https:\/\/docs.microsoft.com\/en-us\/azure\/open-datasets\/dataset-taxi-yellow?tabs=pyspark"},{"key":"e_1_2_1_67_1","unstructured":"Microsoft. 2022. Power BI. https:\/\/powerbi.microsoft.com\/  Microsoft. 2022. Power BI. https:\/\/powerbi.microsoft.com\/"},{"key":"e_1_2_1_68_1","unstructured":"Microsoft. 2022. Running Apache Spark jobs on AKS. https:\/\/docs.microsoft.com\/en-us\/azure\/aks\/spark-job  Microsoft. 2022. Running Apache Spark jobs on AKS. https:\/\/docs.microsoft.com\/en-us\/azure\/aks\/spark-job"},{"key":"e_1_2_1_69_1","unstructured":"MLflow. 2022. MLFlow Models \/ Model API. https:\/\/www.mlflow.org\/docs\/latest\/models.html#model-api  MLflow. 2022. MLFlow Models \/ Model API. https:\/\/www.mlflow.org\/docs\/latest\/models.html#model-api"},{"key":"e_1_2_1_70_1","unstructured":"Walaa Eldin Moustafa. 2018. Transport UDFs. https:\/\/engineering.linkedin.com\/blog\/2018\/11\/using-translatable-portable-UDFs  Walaa Eldin Moustafa. 2018. Transport UDFs. https:\/\/engineering.linkedin.com\/blog\/2018\/11\/using-translatable-portable-UDFs"},{"key":"e_1_2_1_71_1","doi-asserted-by":"publisher","DOI":"10.1145\/3514221.3526141"},{"key":"e_1_2_1_72_1","unstructured":"Tejas Patil. 2021. Portable UDFs: Write Once Run Anywhere. https:\/\/databricks.com\/session_na21\/portable-udfs-write-once-run-anywhere  Tejas Patil. 2021. Portable UDFs: Write Once Run Anywhere. https:\/\/databricks.com\/session_na21\/portable-udfs-write-once-run-anywhere"},{"key":"e_1_2_1_73_1","doi-asserted-by":"publisher","DOI":"10.5555\/1953048.2078195"},{"key":"e_1_2_1_74_1","doi-asserted-by":"publisher","DOI":"10.1145\/3186728.3164140"},{"key":"e_1_2_1_75_1","doi-asserted-by":"publisher","DOI":"10.1145\/3078752"},{"key":"e_1_2_1_76_1","doi-asserted-by":"publisher","DOI":"10.1145\/3127479.3132022"},{"key":"e_1_2_1_77_1","unstructured":"Brandon Schur. 2022. Data Tokenization with Amazon Redshift and Protegrity. https:\/\/aws.amazon.com\/blogs\/apn\/data-tokenization-with-amazon-redshift-and-protegrity\/  Brandon Schur. 2022. Data Tokenization with Amazon Redshift and Protegrity. https:\/\/aws.amazon.com\/blogs\/apn\/data-tokenization-with-amazon-redshift-and-protegrity\/"},{"key":"e_1_2_1_78_1","volume-title":"Amazon Redshift: Creating a scalar Lambda UDF. https:\/\/docs.aws.amazon.com\/redshift\/latest\/dg\/udf-creating-a-lambda-sql-udf.html","author":"Services Amazon Web","year":"2022","unstructured":"Amazon Web Services . 2022 . Amazon Redshift: Creating a scalar Lambda UDF. https:\/\/docs.aws.amazon.com\/redshift\/latest\/dg\/udf-creating-a-lambda-sql-udf.html Amazon Web Services. 2022. Amazon Redshift: Creating a scalar Lambda UDF. https:\/\/docs.aws.amazon.com\/redshift\/latest\/dg\/udf-creating-a-lambda-sql-udf.html"},{"key":"e_1_2_1_79_1","unstructured":"Amazon Web Services. 2022. Elastic Container Registry. https:\/\/aws.amazon.com\/ecr\/  Amazon Web Services. 2022. Elastic Container Registry. https:\/\/aws.amazon.com\/ecr\/"},{"key":"e_1_2_1_80_1","unstructured":"Amazon Web Services. 2022. Lambda - Serverless Computing. https:\/\/aws.amazon.com\/lambda\/  Amazon Web Services. 2022. Lambda - Serverless Computing. https:\/\/aws.amazon.com\/lambda\/"},{"key":"e_1_2_1_81_1","unstructured":"Amazon Web Services. 2022. Lambda quotas. https:\/\/docs.aws.amazon.com\/lambda\/latest\/dg\/gettingstarted-limits.html  Amazon Web Services. 2022. Lambda quotas. https:\/\/docs.aws.amazon.com\/lambda\/latest\/dg\/gettingstarted-limits.html"},{"key":"e_1_2_1_82_1","volume-title":"Proceedings of the 17th International Middleware Conference. 1--13","author":"Sharma Prateek","unstructured":"Prateek Sharma , Lucas Chaufournier , Prashant J. Shenoy , and Y. C. Tay . 2016. Containers and Virtual Machines at Scale: A Comparative Study . In Proceedings of the 17th International Middleware Conference. 1--13 . Prateek Sharma, Lucas Chaufournier, Prashant J. Shenoy, and Y. C. Tay. 2016. Containers and Virtual Machines at Scale: A Comparative Study. In Proceedings of the 17th International Middleware Conference. 1--13."},{"key":"e_1_2_1_83_1","volume-title":"2020 USENIX Annual Technical Conference (USENIX ATC 20)","author":"Shillaker Simon","year":"2020","unstructured":"Simon Shillaker and Peter Pietzuch . 2020 . Faasm: Lightweight isolation for efficient stateful serverless computing . In 2020 USENIX Annual Technical Conference (USENIX ATC 20) . 419--433. Simon Shillaker and Peter Pietzuch. 2020. Faasm: Lightweight isolation for efficient stateful serverless computing. In 2020 USENIX Annual Technical Conference (USENIX ATC 20). 419--433."},{"key":"e_1_2_1_84_1","doi-asserted-by":"publisher","DOI":"10.1145\/3448016.3457244"},{"key":"e_1_2_1_85_1","doi-asserted-by":"publisher","DOI":"10.14778\/3407790.3407836"},{"key":"e_1_2_1_86_1","unstructured":"Uber. 2022. Kraken. https:\/\/github.com\/uber\/kraken  Uber. 2022. Kraken. https:\/\/github.com\/uber\/kraken"},{"key":"e_1_2_1_87_1","unstructured":"Liang Wang Mengyuan Li Yinqian Zhang Thomas Ristenpart and Michael Swift. 2018. Peeking behind the curtains of serverless platforms. In 2018 {USENIX} Annual Technical Conference ({USENIX}{ATC} 18). 133--146.  Liang Wang Mengyuan Li Yinqian Zhang Thomas Ristenpart and Michael Swift. 2018. Peeking behind the curtains of serverless platforms. In 2018 { USENIX } Annual Technical Conference ( { USENIX }{ ATC } 18). 133--146."},{"key":"e_1_2_1_88_1","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2020.3034517"}],"container-title":["Proceedings of the VLDB Endowment"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.14778\/3551793.3551860","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,12,28]],"date-time":"2022-12-28T10:55:18Z","timestamp":1672224918000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.14778\/3551793.3551860"}},"subtitle":["an experimental evaluation"],"short-title":[],"issued":{"date-parts":[[2022,7]]},"references-count":88,"journal-issue":{"issue":"11","published-print":{"date-parts":[[2022,7]]}},"alternative-id":["10.14778\/3551793.3551860"],"URL":"https:\/\/doi.org\/10.14778\/3551793.3551860","relation":{},"ISSN":["2150-8097"],"issn-type":[{"value":"2150-8097","type":"print"}],"subject":[],"published":{"date-parts":[[2022,7]]}}}