user6866797
user6866797

Reputation: 151

Liquibase Can't Create DatabaseChangeLog Table in Databricks

What I am trying to do:

The error:

Caused by: org.apache.spark.sql.catalyst.parser.ParseException: 
popeyes_spinach  | [UNSUPPORTED_DATATYPE] Unsupported data type "DATETIME". SQLSTATE: 0A000
popeyes_spinach  | == SQL (line 1, position 134) ==
popeyes_spinach  | ...HAR(255) NOT NULL, DATEEXECUTED datetime NOT NULL, ORDEREXECUTED INT NOT...

[Failed SQL: (500051) CREATE TABLE DATABASECHANGELOG (ID VARCHAR(255) NOT NULL, AUTHOR VARCHAR(255) NOT NULL, FILENAME VARCHAR(255) NOT NULL, DATEEXECUTED datetime NOT NULL, ORDEREXECUTED INT NOT NULL, EXECTYPE VARCHAR(10) NOT NULL, MD5SUM VARCHAR(35), DESCRIPTION VARCHAR(255), COMMENTS VARCHAR(255), TAG VARCHAR(255), LIQUIBASE VARCHAR(20), CONTEXTS VARCHAR(255), LABELS VARCHAR(255), DEPLOYMENT_ID VARCHAR(10))]

What I have tried:

Code in docker compose file below

Thank you for your help!

services:
  
  liquibase_poc:
    environment:
      - JAVA_OPTS=--add-opens=java.base/java.nio=ALL-UNNAMED"
    container_name: popeyes_spinach
    image: liquibase/liquibase
    command: liquibase update --url='jdbc:databricks://adb-redacted.3.azuredatabricks.net:443/default;transportMode=http;ssl=1;AuthMech=3;httpPath=/sql/1.0/warehouses/redacted;ConnCatalog=188_edap_dev;ConnSchema=databricks_cicd_scratch;' --username='redacted' --password='redacted' --driver='com.databricks.client.jdbc.Driver' --classpath=/liquibase/lib/liquibase-databricks-1.4.0-javadoc.jar  --changelog-file='changelog.xml'
    volumes:
      - ./liquibase/scripts:/liquibase/scripts
      - ./liquibase/changelog.xml/:/liquibase/changelog.xml
       - ./liquibase/lib:/liquibase/lib

Upvotes: 0

Views: 44

Answers (1)

user6866797
user6866797

Reputation: 151

I figured out what I did wrong. I was downloading the javadoc.jar file, it needs to be the file without the javadoc in the file name: liquibase-databricks-1.4.0.jar

Upvotes: 0

Related Questions