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

计算出来的结果显示成这样怎么转换回来呢?

1392问.png

展开
收起
游客3oewgrzrf6o5c 2022-07-12 18:04:32 303 0
1 条回答
写回答
取消 提交回答
  • 全栈JAVA领域创作者

    要将计算出来的结果转换回原始数据,可以使用以下步骤:

    定义数据结构:根据需要,定义一个数据结构来保存计算出来的结果。例如,可以定义一个包含订单和支付信息的结构,包含以下属性:订单ID、支付方式ID、订单支付时间、订单状态等。
    将数据结构转换成目标数据格式:根据目标数据仓库的格式,将数据结构转换成相应的数据表中的字段。例如,可以将订单和支付信息转换成以下字段:订单ID、支付方式ID、订单支付时间、订单状态、支付金额等。
    插入数据到目标数据仓库:使用ETL(Extract-Transform-Load)工具将数据转换成目标数据仓库的格式后,将其插入到目标数据仓库中。
    从目标数据仓库查询数据:在目标数据仓库中,使用相应的查询语句来查询需要的数据,例如:

    SELECT * FROM orders WHERE order_id = 123;
    

    其中,order_id为订单ID,需要从目标数据仓库中查询出所有订单信息。

    将查询结果转换成数据结构:将查询结果转换成计算出来的数据结构。例如,可以使用以下代码将查询结果转换成订单和支付信息的结构:

    Order order = orders.get(123);
    OrderOrderId orderId = order.getId();
    PaymentMethod paymentMethod = order.getPaymentMethod();
    Date paymentTime = order.payTime;
    String status = order.getStatus();
    

    其中,get(123)方法用于从目标数据仓库中查询订单信息,getPaymentMethod()方法用于查询支付方式信息,getPaymentTime()方法用于查询支付时间信息,getStatus()方法用于查询订单状态信息。

    应用数据结构:将转换回来的数据结构应用到业务中,例如使用以下代码来处理订单和支付信息:

    Order order = ...
    PaymentMethod paymentMethod = ...
    List<Order> orders = ...
    for (Order order : orders) {
        // 处理订单信息
        if (order.getStatus().equals("paid")) {
            // 处理支付信息
            paymentMethod = paymentServices.getPaymentMethodById(order.getPaymentMethodId());
            // 处理其他支付相关的业务
        }
    }
    

    其中,getPaymentMethodById()方法用于从支付服务中查询支付方式信息。
    以上是将计算出来的结果转换回原始数据的步骤,具体实现方式需要根据具体情况来进行调整。

    2023-08-14 12:30:25
    赞同 展开评论 打赏

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

相关电子书

更多
用计算和数据去改变整个世界 立即下载
4个迭代,从批量交...1573957773.pdf 立即下载
低代码开发师(初级)实战教程 立即下载