SAS/ACCESS® Interface to Spark LIBNAME statements with the BULKLOAD=YES option fail with "Invalid option name BL_" error messages


When you try to bulk load data from SAS to the Databricks database, an error might occur in the execution of the SAS/ACCESS Interface to Spark LIBNAME statement. The "BL_" LIBNAME options, which are required when you specify BULKLOAD=YES, might generate Invalid option name error messages in the SAS log.  

SAS® Code

%let MYDBRICKS=xxx-xxxxxxxx-####.cloud.databricks.com;
%let MYUID=token;
%let MYPWD=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-x;
%let MYHTTPPATH=/sql/1.0/warehouses/xxxxxxxxxxxxxxx;
%let MYCATALOG=main;
%let MYSCHEMA=keyoun;

libname dbricks SPARK
  platform=databricks
  driverClass='com.databricks.client.jdbc.Driver'
  user=token pwd="&MYPWD"
  server="&MYDBRICKS"  port=443
  httpPath="&MYHTTPPATH"
  properties="defaultStringColumnLength=255;useNativeQuery=1;TemporarilyUnavailableRetryTimeout=1800;
    ConnSchema=&MYSCHEMA;ConnCatalog=&MYCATALOG"
  schema="&MYSCHEMA"
  character_multiplier=1
  PRESERVE_TAB_NAMES=YES
  bulkload=yes
  bl_bucket='sas-databricks-s3-bucket/databricks'
  bl_aws_config='/u/keyoun/.databricks/config'
  bl_aws_credentials_file='/u/keyoun/.databricks/credentials'
;

Partial SAS® Log

68     bulkload=yes
69     bl_bucket='sas-databricks-s3-bucket/databricks'
       ---------
       22
ERROR 22-7: Invalid option name BL_BUCKET.
70     bl_aws_config='/u/keyoun/.databricks/config'
       -------------
       22
ERROR 22-7: Invalid option name BL_AWS_CONFIG.
71     bl_aws_credentials_file='/u/keyoun/.databricks/credentials'
       -----------------------
       22
ERROR 22-7: Invalid option name BL_AWS_CREDENTIALS_FILE.

Workaround

There is no workaround that enables you to bulk load using BULKLOAD=YES with the corresponding BL_ options. 

You can still use BULKLOAD=NO with SAS/ACCESS Interface to Spark until a patch for this issue is available. In addition, you can also use SAS/ACCESS® Interface to ODBC.

For additional information, see Bulk Loading to Databricks in AWS (using SAS/ACCESS Interface to Spark).