开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

有没有人知道,flinkSQL,用jdbc方式读取oracle的number类型怎么映射?

有没有人知道,flinkSQL,用jdbc方式读取oracle的number类型怎么映射?c152d6dbb7912e2ceb94239bef7f1398.png

展开
收起
cuicuicuic 2023-11-21 07:42:54 78 0
3 条回答
写回答
取消 提交回答
  • 在Flink SQL中,使用JDBC方式读取Oracle的number类型时,可以通过以下方式进行映射:

    1. 首先,需要在Flink SQL中创建一个表结构,用于存储从Oracle数据库中读取的数据。在这个表中,需要定义一个字段,其数据类型为BIGINTDOUBLE,这两个类型可以分别对应于Oracle中的NUMBER(10, 0)NUMBER(15, 3)类型。例如:
    CREATE TABLE my_table (
      id BIGINT,
      num DOUBLE
    ) WITH (
      'connector' = 'jdbc',
      'url' = 'jdbc:oracle:thin:@localhost:1521:orcl',
      'table-name' = 'my_table',
      'username' = 'myuser',
      'password' = 'mypassword'
    );
    
    1. 然后,可以使用Flink SQL的查询语句来读取这个表中的数据。在查询语句中,可以直接使用SELECT语句来选择需要读取的字段,而不需要显式地进行类型映射。例如:
    SELECT id, num FROM my_table;
    

    通过这种方式,Flink SQL会自动将Oracle中的NUMBER类型映射到BIGINTDOUBLE类型中。

    2023-11-21 15:36:24
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    Oracle的Number类型映射为Java类型中的java.math.BigDecimal(不可变的、任意精度的有符号十进制数)类型。
    此外,在使用Flink SQL从Oracle数据库中读取数据时,您可以使用Flink的JDBC connector。Flink的JDBC connector支持从关系型数据库中读取数据,并将数据转换为Flink的DataStream或Table API。
    在使用JDBC connector读取Oracle数据库中的Number类型数据时,您可以将Number类型映射为Flink的DECIMAL类型,以确保正确的数据类型转换。以下是示例代码:

    CREATE TABLE table_name (
        column_name DECIMAL(18, 0)
    ) WITH (
        'connector.type' = 'jdbc',
        'connector.url' = 'jdbc:oracle:thin:@//host:port/service_name',
        'connector.table-name' = 'table_name',
        'connector.username' = 'username',
        'connector.password' = 'password'
    );
    

    请注意,这里的 DECIMAL(18, 0) 是指数据的最大位数和小数位数。您可以根据实际情况调整这些参数。

    2023-11-21 14:21:30
    赞同 展开评论 打赏
  • 在Flink SQL中,我们通常使用JDBC连接器来读取Oracle数据库的数据。对于Oracle的NUMBER类型,我们可以将其映射为Java中的BigDecimal类型。但是请注意,Oracle NUMBER类型具有一定的长度和小数位数限制,因此在映射为BigDecimal类型时,需要注意数据的溢出和精度丢失等问题。

    2023-11-21 13:04:42
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关电子书

更多
PostgresChina2018_樊文凯_ORACLE数据库和应用异构迁移最佳实践 立即下载
PostgresChina2018_王帅_从Oracle到PostgreSQL的数据迁移 立即下载
Oracle云上最佳实践 立即下载

相关镜像