Source
Analyzing queries and troubleshooting with Snowpark Java
To inspect the evaluation plan of a DataFrame, call the explain method of the DataFrame. This prints the SQL statements used to evaluate the DataFrame. If there is only one SQL statement, the method also prints the logical plan for the…
Java requirements for the JDBC Driver
The Snowflake JDBC driver requires Java LTS (Long - Term Support) versions 1.8 or higher. If the minimum required version of Java is not installed on the client machines where the JDBC driver is installed, you must install either Oracle Java…
JDBC driver with -Dhttp.nonProxyHosts=* set throws java.lang.StringIndexOutOfBoundsException: begin 1, end 0, length 1
ISSUE: When using the JDBC driver's diagnostics feature (i.e., ENABLE_DIAGNOSTICS=TRUE)1, if the -Dhttp.nonProxyHosts=* JVM argument is set, the following exception can occur on some Java versions: java.lang.RuntimeException: java.lang.St…
JDBC driver throws javax.naming.CommunicationException: DNS error (Root exception: java.net.SocketTimeoutException)
ISSUE: The following exception occurs on macOS (aarch64) when using the JDBC driver’s diagnostic feature (i.e., ENABLE_DIAGNOSTICS=TRUE)…
Exception 'java.net.UnknownHostException' when connecting to scoped stage file URLs within Snowpark Java functions
CAUSE: Snowpark (Java, Scala, Python, etc.) functions execute in secure sandboxes over the Snowflake virtual warehouses and are not permitted to make any network related syscalls, including DNS resolution.
Java UDF limitations
This topic describes the limitations in place for handlers written in Java.
ERROR: "Exception in thread "main" java.io.IOException: ObjectIdentifier() -- data isn't an object ID (tag = 48)" while using Public/Private Key Pair Authentication with Snowflake JDBC Driver.
ERROR: "Exception in thread "main" java.io.IOException: ObjectIdentifier() - - data isn't an object ID (tag = 48)" while using Public/Private Key Pair Authentication with Snowflake JDBC Driver.
JDBC Driver Compatibility Issue With JDK 16 and Later: Exception creating result java.lang.ExceptionInInitializerError at net.snowflake.client.jdbc.internal.apache.arrow.memory.UnsafeAllocationManager
CAUSE: The failure is directly caused by one of the JDBC driver's dependencies, Apache Arrow, when attempting to use reflection in order to access a private member of the java.nio.Buffer class. This was allowed by Java previously, but not…
Creating a Java UDF handler
When you write a Java UDF, you write Java code for Snowflake to execute as UDF logic. This Java code is the UDF’s handler. You deploy the UDF with CREATE FUNCTION, giving the UDF a name and specifying the Java method as the handler to…
Can JavaScript/Java API functionalities such as connection.createStatement be used inside UDF?
User cannot create or use statements such as connection.createStatement inside UDF (not even in JavaScript UDF). This is as per the design of the Snowflake server. Example: If we try to create a Connection and Statement object inside Java…