You have a Snowflake stage containing image files. You need to write a Snowpark Python application that extracts metadata (e.g., image resolution, format) from these images and stores the metadata in a Snowflake table. You want to leverage a Python library, such as Pillow (PIL), for image processing. Which of the following steps are necessary to correctly and efficiently implement this?
Correct Answer: B
Option B is the MOST correct. Using a Conda environment specification file ('environment.yml') and 'session.add_packages' is the recommended way to manage dependencies in Snowpark. It ensures that the correct version of Pillow is available and simplifies the deployment process. Option A is an older method and may not be as reliable. Option C involves UDFs which, while valid, can be less efficient than using native Snowpark functionalities directly. Option D is incorrect, Snowflake doesn't have built-in image processing functions. Option E again defeats the purpose of server-side processing.