Liquibase 无法在 Databricks 中创建 DatabaseChangeLog 表

问题描述 投票:0回答:1

我正在尝试做的事情:

  • 我正在尝试通过创建 docker compose 文件来测试 Liquibase 与 Databricks 的使用。

错误:

  • 我能够连接到 Databricks,但当 Liquibase 尝试创建 DATABASECHANGELOG 表时出现以下错误:
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))]

我尝试过的:

  • 我尝试将databricks扩展文件安装到类路径文件夹
  • 我尝试将databricks扩展文件安装到lib文件夹
  • 我尝试将 databricks 扩展文件安装到 lib 文件夹并使用 --classpath 参数显式指定 jar 文件的路径

下面的 docker compose 文件中的代码

谢谢您的帮助!

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
docker-compose databricks liquibase
1个回答
0
投票

我知道我做错了什么了。我正在下载 javadoc.jar 文件,它需要是文件名中不带 javadoc 的文件:liquibase-databricks-1.4.0.jar

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.