Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug] [HIVE Plugin] seatunnel 2.3.9 sqlserver to hive Error: Table default.default.default field name cannot be empty #8575

Open
2 of 3 tasks
jianJizz opened this issue Jan 23, 2025 · 1 comment
Labels

Comments

@jianJizz
Copy link

Search before asking

  • I had searched in the issues and found no similar issues.

What happened

seatunnel 2.3.9 sqlserver to hive Error: Table default.default.default field name cannot be empty

我按照官方的配置进行操作,sqlserver写入hive报错,hive依赖的jar报都放到seatunnel的lib目录下去了
I followed the official configuration instructions, but encountered an error when writing data from SQL Server to Hive. All the JAR files that Hive depends on have been placed in the Seatunnel's lib directory.

SeaTunnel Version

seatunnel version: 2.3.9
hive version: 3.1.3 r16e97596921c8514713bcadb3b3568bccc7ef26c

SeaTunnel Config

env {
  parallelism = 3
  job.name = "test_mssql2hive"
  job.mode = "BATCH"
}

source {
    Jdbc {
        driver = com.microsoft.sqlserver.jdbc.SQLServerDriver
        url = "jdbc:sqlserver://xxx:1433;database=ODS;encrypt=false;trustServerCertificate=true"
        user = xxx
        password = "xxx"
        query = "select id, name from dbo.test_st (nolock)"
    }
}

transform {
}

sink {
  Hive {
    metastore_uri = "thrift://xxx:9083"
	table_name = "db_ods.pds_test_st"
  }
}

Running Command

bin/seatunnel.sh --config mssql2hive.conf -m local

Error Exception

-- 错误信息 error message
2025-01-23 10:23:47,645 ERROR [o.a.s.c.s.SeaTunnel           ] [main] - Fatal Error, 

2025-01-23 10:23:47,645 ERROR [o.a.s.c.s.SeaTunnel           ] [main] - Please submit bug report in https://github.com/apache/seatunnel/issues

2025-01-23 10:23:47,645 ERROR [o.a.s.c.s.SeaTunnel           ] [main] - Reason:SeaTunnel job executed failed 

2025-01-23 10:23:47,646 ERROR [o.a.s.c.s.SeaTunnel           ] [main] - Exception StackTrace:org.apache.seatunnel.core.starter.exception.CommandExecuteException: SeaTunnel job executed failed
        at org.apache.seatunnel.core.starter.seatunnel.command.ClientExecuteCommand.execute(ClientExecuteCommand.java:228)
        at org.apache.seatunnel.core.starter.SeaTunnel.run(SeaTunnel.java:40)
        at org.apache.seatunnel.core.starter.seatunnel.SeaTunnelClient.main(SeaTunnelClient.java:34)
Caused by: org.apache.seatunnel.api.table.factory.FactoryException: ErrorCode:[API-06], ErrorDescription:[Factory initialize failed] - Unable to create a sink for identifier 'Hive'.
        at org.apache.seatunnel.api.table.factory.FactoryUtil.createAndPrepareSink(FactoryUtil.java:173)
        at org.apache.seatunnel.engine.core.parse.MultipleTableJobConfigParser.createSinkAction(MultipleTableJobConfigParser.java:698)
        at org.apache.seatunnel.engine.core.parse.MultipleTableJobConfigParser.parseSink(MultipleTableJobConfigParser.java:629)
        at org.apache.seatunnel.engine.core.parse.MultipleTableJobConfigParser.parse(MultipleTableJobConfigParser.java:249)
        at org.apache.seatunnel.engine.client.job.ClientJobExecutionEnvironment.getLogicalDag(ClientJobExecutionEnvironment.java:123)
        at org.apache.seatunnel.engine.client.job.ClientJobExecutionEnvironment.execute(ClientJobExecutionEnvironment.java:191)
        at org.apache.seatunnel.core.starter.seatunnel.command.ClientExecuteCommand.execute(ClientExecuteCommand.java:165)
        ... 2 more
Caused by: org.apache.seatunnel.common.utils.SeaTunnelException: Table default.default.default field name cannot be empty
        at org.apache.seatunnel.api.table.factory.TableFactoryContext.checkCatalogTableIllegal(TableFactoryContext.java:48)
        at org.apache.seatunnel.api.table.factory.TableSinkFactoryContext.<init>(TableSinkFactoryContext.java:41)
        at org.apache.seatunnel.api.table.factory.TableSinkFactoryContext.replacePlaceholderAndCreate(TableSinkFactoryContext.java:54)
        at org.apache.seatunnel.api.table.factory.FactoryUtil.createAndPrepareSink(FactoryUtil.java:157)
        ... 8 more

Zeta or Flink or Spark Version

zeta

Java or Scala Version

openjdk version "1.8.0_392"
OpenJDK Runtime Environment (build 1.8.0_392-b08)
OpenJDK 64-Bit Server VM (build 25.392-b08, mixed mode)

Screenshots

Image

Image

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

Code of Conduct

@jianJizz jianJizz added the bug label Jan 23, 2025
@jianJizz jianJizz changed the title [Bug] [Module Name] seatunnel 2.3.9 sqlserver to hive Error: Table default.default.default field name cannot be empty [Bug] [HIVE Plugin] seatunnel 2.3.9 sqlserver to hive Error: Table default.default.default field name cannot be empty Jan 24, 2025
@jianJizz
Copy link
Author

Can someone take a look at this?please

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant