Thank you for confirming the cause of the issue around database creation permissions. If you are creating a database (and not just a table) in the Spark load command, you would require the CREATE DATABASE, as you mentioned.
Spark 3.0 Connector
As noted in previous replies, we strongly recommend using the 3.0 connector, especially if you are in the POC phase of your development; we will be deprecating the 2.0 version of the connector in the medium-term.
Not only does the 3.0 connector support robust SQL pushdown (the 2.0 connector only supports it for a few query shapes), but it is fully compatible with JDBC’s API. Additionally, the 3.0 connector is compatible with the latest versions of Spark (2.3 and 2.4), and MemSQL 7.0+ (the 2.0 Connector is only supported with pre-7.0 versions of MemSQL)
In your other forum post, you indicated that you were an enterprise customer of MemSQL. Would you mind sharing which company you are a part of? We would be happy to discuss the Spark Connector 3.0 benefits with you over a call with a product manager.
Permission Matrix Documentation
Regarding your comment here:
(although permission matrix says CREATE applies to database and tables, we explicitly mentioned keyword database)
Can you confirm in the permissions matrix where you see database creation is allowed under ‘CREATE’ permissions? We can make sure that it is clarified in our documentation.
Note that the field “Allowed Scopes” in the permissions matrix table is indicating that the
CREATE permission can be granted for tables inside all databases within a cluster, to a specific database within the cluster, or to a specific table in a database. It is not indicating that the grant allows creating databases.
Additionally, you can see in this linked table that the minimum permission for creating a database is the
create database permission.