时间维度表数据制作(调用API接口)

该博客介绍了如何在学习电商数仓搭建过程中创建时间维度表。作者通过调用网络上的免费节假日API,实现了数据的整合和统计,并提供了具体的Java代码示例。代码包括了从API获取数据,解析JSON,处理日期和节假日信息,并将结果写入文件的过程。此方法用于生成一年一更新的时间维度表数据。

学习电商数仓搭建时,遇到创建DIM层的时间维度表。这里时间维度表数据是十分固定的(一年一更新),要将这些数据提出出来生成文件以便导入DIM层的时间维度表中。

我们可以调用网络上免费的节假日API来实现对数据的整合和统计。

具体代码如下:

这里建议使用第二种getDate2的API,注意使用第二种时需要你自己去申请app_id和app_secret去替换

package com.time;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;

/**
 *
 * 制作时间维度表数据(日期,周,周几,每月第几天,第几月,第几季度,年,是否为鸽子肉,节假日)
 * @author csw
 * @time 2022/4/20 9:55
 */
public class TimeProduce {

    static BufferedReader in = null;
    static BufferedWriter writer = null;

    public static void main(String[] args) throws FileNotFoundException, UnsupportedEncodingException {

        writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("D:\\study\\data\\date.txt"), "UTF-8"));

//        getDate1();

        getDate2();

        close();
    }

    /**
    * @Author: csn
    * @Description: 建立API调用连接
    * @DateTime: 2022/4/20 14:14
    * @Params:
    * @Return 字符串(日期数据)
    */
    public static StringBuffer getConnect(String url) {
        URL url1;

        StringBuffer sb = new StringBuffer();
        try {
            url1 = new URL(url);
            HttpURLConnection connection = (HttpURLConnection) url1.openConnection();
            connection.setRequestMethod("GET");
            connection.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36)"); //防止报403错误。
            connection.connect();
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值