分类 "Bigdata" 下的文章

问题:

npm install 安装elasticsearch-head报错,需要安装phantomjs-prebuilt@2.1.14

参考:

https://blog.csdn.net/Stars1sea/article/details/133337740
https://blog.csdn.net/yangkei/article/details/126708031

问题:安装superset3.0.0,一直报WARNING:root:Class 'werkzeug.local.LocalProxy' is not mapped,而且登录不了,查询了网上说是werkzeug版本有问题,更改版本后,发现还是不行,目前使用的是2.3.5

解决:需要手动修改配置文件

方法:

cd $envs/superset/lib/python3.9/site-packages/superset
vi config.py
# 修改如下参数
TALISMAN_ENABLED = utils.cast_to_boolean(os.environ.get("TALISMAN_ENABLED", False))  ## True 改为 False
SESSION_COOKIE_SAMESITE = None
SESSION_COOKIE_SECURE = False
SESSION_COOKIE_HTTPONLY = False
WTF_CSRF_ENABLED = False

阅读全文

问题:azkaban设置时间为Asia/Shanghai,任务调度时设置为0 0 2 ? 但运行时间为10点

解决:不明白什么原因导致,个人猜想是时间有问题,未生效,解决方法是任务调度设置为 0 0 18 ?

问题:hive表的字段数据中有NUL数据,导致无法将hive数据导出

解决:使用regexp_replace(CFWH, '\x00', ''),x00可以匹配到NUL

方法:

在数据从ods层进入dwd层时进行数据治理

// 在hive中的查询语句
select sxh, regexp_replace(replace(CFWH, decode(unhex(hex(127)), "US-ASCII"), ""), "\\x00", "")
from ods_xscfjl where sxh in (1020,1107);

# 脚本中的调用语句
dwd_cfjl="
set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat;
insert overwrite table ${APP}.dwd_cfjl partition(dt='$do_date')
select
    SXH, 
    XH, 
    regexp_replace(replace(CFWH, decode(unhex(hex(127)), 'US-ASCII'), ''), '\\\\x00', '') CFWH, 
    CJSJ,
    CJZ
from ${APP}.ods_xscfjl
where dt='$do_date';
"

注:'x00' 需要加一个转义符,正则中写'\x00',decode(unhex(hex(127)), 'US-ASCII')是过滤字段中的DEL字符

阅读全文

问题:ods层源数据中有DEL这样的特殊字符,如何去除?

解决:在ods层进入dwd层前进行数据处理,使用replace进行去除

方法:

select replace(CFWH, decode(unhex(hex(127)), 'US-ASCII'), '');

阅读全文