8.3 案例实现(加载演员数据至演员维度表)

操作介绍:

通过Kettle工具加载演员数据至演员维度表dim_actor。

1.打开Kettle工具,创建转换

使用Kettle工具,创建一个转换load_dim_actor,并添加表输入控件、插入/更新控件以及Hop跳连接线,具体如图所示。

2.配置表输入控件

双击“表输入”控件,进入“表输入”配置界面,单击【新建】按钮,配置数据库连接,配置完成后单击【确认】按钮。MySQL数据库连接的配置,如图所示。

在SQL框中编写SQL语句,用于获取字段actor_last_update中的最大值,将该值替换为”1970-01-01 00:00:00”并赋值给临时字段max_dim_actor_last_update;单击“预览”按钮,查看临时字段max_dim_actor_last_update是否将默认值设置为“1970-01-01 00:00:00”,如图所示。

3.配置表输入2控件

 双击“表输入2”控件,进入“表输入”界面,单击【新建】按钮,配置数据库连接,配置完成后单击【确认】按钮。MySQL数据库连接的配置如图所示。

在SQL框中编写SQL语句,用于获取数据库sakila中数据表actor中的最新数据,如图所示。 

4.配置插入/更新控件

双击“插入/更新”控件,进入“插入/更新”界面,单击【新建】按钮,配置数据库连接,配置完成后单击【确认】按钮。MySQL数据库连接的配置,如图所示。

单击目标表右侧的【浏览】按钮,弹出“数据库浏览器”窗口,选择目标表,即维度表dim_actor。单击【获取字段】按钮,用来指定查询数据所需要的关键字,这里选择的是dim_actor数据表中的actor_id字段和输入流里面的actor_id字段;单击【获取和更新字段】按钮,用来指定需要更新的字段,如图所示。

5.运行转换load_dim_actor

单击转换工作区顶部的运行按钮,运行创建的转换load_dim_actor,实现加载演员数据至演员维度表dim_actor中,如图所示。

6.查看数据表dim_actor中的数据

通过SQLyog工具,查看数据表dim_actor是否已成功插入演员数据,查看结果,如图所示。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
LVGL 8.3 版本可以通过设置 label 控件的特定属性来实现字体倒影效果。具体实现步骤如下: 1. 创建一个 label 控件,并设置其属性,比如 text 内容、字体大小、字体颜色等。 2. 在 label 控件下方再创建一个同样的 label 控件,并设置其 text、字体大小和字体颜色。注意这里的 text 内容应该与第一个 label 控件的 text 内容保持一致。 3. 将第二个 label 控件的 y 坐标设为第一个 label 控件的 y 坐标加上第一个 label 控件的高度,同时将其 opacity 属性设置为一个小于 1 的值,比如 0.5。 4. 在 label 控件的回调函数,监听 LV_EVENT_DRAW_MAIN 事件,并在该事件的回调函数绘制第二个 label 控件,即可实现字体倒影效果。 下面是一个示例代码: ```c static void label_draw(lv_obj_t * label, const lv_area_t * clip_area) { lv_label_ext_t * ext = lv_obj_get_ext_attr(label); lv_draw_label_dsc_t dsc; lv_draw_label_dsc_init(&dsc); lv_obj_init_draw_label_dsc(label, LV_PART_MAIN, &dsc); /* 绘制第一个 label */ lv_area_t coords; lv_obj_get_coords(label, &coords); lv_draw_label(&coords, clip_area, &dsc, ext->text, NULL); /* 绘制第二个 label */ coords.y += coords.h; dsc.opa = LV_OPA_50; lv_draw_label(&coords, clip_area, &dsc, ext->text, NULL); } int main(void) { /* 创建一个 label 控件 */ lv_obj_t * label = lv_label_create(lv_scr_act()); lv_label_set_text(label, "Hello, world!"); lv_obj_set_size(label, 200, LV_SIZE_CONTENT); /* 设置 label 控件的风格 */ lv_style_t style; lv_style_copy(&style, &lv_style_plain); style.text.color = LV_COLOR_RED; style.text.font = &lv_font_montserrat_24; lv_obj_set_style(label, &style); /* 设置第二个 label 控件的属性 */ lv_obj_t * label_ref = lv_label_create(lv_scr_act()); lv_label_set_text(label_ref, "Hello, world!"); lv_obj_set_size(label_ref, 200, LV_SIZE_CONTENT); lv_obj_set_y(label_ref, lv_obj_get_y(label) + lv_obj_get_height(label)); lv_obj_set_opa_scale(label_ref, LV_OPA_50); /* 监听 label 控件的 LV_EVENT_DRAW_MAIN 事件 */ lv_obj_set_event_cb(label, label_draw); while (1) { lv_task_handler(); usleep(5000); } return 0; } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值