自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(81)
  • 收藏
  • 关注

原创 基于Seatunnel2.1.0连通Hive数仓和ClickHouse的实战

背景目前公司的分析数据基本存储在 Hive 数仓中,使用 Presto 完成 OLAP 分析,但是随着业务实时性增强,对查询性能的要求不断升高,同时许多数据应用产生,比如对接 BI 进行分析等,Presto不能满足需求,在这个阶段我们引入了ClickHouse,用来建设性能更强悍,响应时间更短的数据分析平台,以满足实时性要求,但如何连通 Hive 数仓和ClickHouse呢?没错,当然是 Seatunnel 啦!01 环境准备官方推荐的 seatunnel2.1.0+spark2.4.8+sc

2022-03-25 16:13:21 1093

原创 Hive hql 经典5道面试题

最近在深入了解Hive,尚硅谷的这5道题很经典,有引导意义,分步解题也很有用,故记录之,方便回看1.连续问题如下数据为蚂蚁森林中用户领取的减少碳排放量找出连续 3 天及以上减少碳排放量在 100 以上的用户id dt lowcarbon1001 2021-12-12 1231002 2021-12-12 451001 2021-12-13 431001 2021-12-13 451001 2021-12-13 231002 2021-12-14 451001 2021-12-14.

2022-01-25 15:33:32 7760

原创 基于Seatunnel连通Hive数仓和ClickHouse的实战

背景目前公司的分析数据基本存储在 Hive 数仓中,使用 Presto 完成 OLAP 分析,但是随着业务实时性增强,对查询性能的要求不断升高,同时许多数据应用产生,比如对接 BI 进行分析等,Presto不能满足需求,在这个阶段我们引入了ClickHouse,用来建设性能更强悍,响应时间更短的数据分析平台,以满足实时性要求,但如何连通 Hive 数仓和ClickHouse呢?没错,当然是 Seatunnel 啦!01 环境准备官方推荐的 seatunnel1.5.7+spark2.4.8+sc

2022-01-19 19:44:38 3707

原创 Atlas2.1.0实战:安装、配置、导入hive元数据、编译排坑

2022-01-12T09:31:21,610 INFO [main] org.apache.hadoop.hive.conf.HiveConf - Found configuration file file:/u/module/hive/conf/hive-site.xmlException in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/mapred/JobConf at org.apache.hadoop.hiv

2022-01-18 15:52:43 2953 2

原创 Hadoop硬件合理配置及raid方面的调研

文章目录前言一、Hadoop硬件合理配置二、Hadoo架构配置 三、raid方面前言最近公司在Hadoop服务器未来规划,所以调研了各个方面,有点杂乱,这里记录一下。

2021-12-08 11:17:32 3106

原创 hive导入ClickHouse时Spark读取Hive分区错误解决

项目场景:错误由来问题描述:java.lang.RuntimeException: Caught Hive MetaException attempting to get partition metadata by filter from Hive. You can set the Spark configuration setting spark.sql.hive.manageFilesourcePartitions to false to work around this problem, ho

2021-12-01 15:36:53 3262

原创 Hive动态分区导入ClickHouse时出现错误

项目场景:最近在将hive导入clickhouse,全量导入没有问题,增量导入时出现问题,这里记录下来hive源表:DROP TABLE IF EXISTS dwd_test;CREATE EXTERNAL TABLE dwd_test( id string COMMENT 'ID', name string COMMENT '名字', birthday string COMMENT '生日') COMMENT 'test' PARTITIO

2021-12-01 14:09:51 608

原创 ClickHouse与Presto及Hive性能对比(7亿数据)

数据量总量7.6亿,机台数据Hive中数据DROP TABLE IF EXISTS dwd_ipqc_online;CREATE EXTERNAL TABLE dwd_ipqc_online( MACH_ID string COMMENT '機台ID', MACH_IP string COMMENT '機台IP', CREATE_TIME string COMMENT '創建時間', IPQC_ONLINEID string COMME

2021-11-30 11:00:28 3430

原创 hive亿级数据导入ClickHouse并增量更新

项目场景:hive亿级数据导入ClickHouse,并每日导入(技术工具看上文)hive中表结构: 数据量7.6亿DROP TABLE IF EXISTS dwd_ipqc_online;CREATE EXTERNAL TABLE dwd_ipqc_online( MACH_ID string COMMENT '機台ID', MACH_IP string COMMENT '機台IP', CREATE_TIME string COMMENT '創

2021-11-30 10:27:31 3833 1

原创 Shlle脚本传参调用seatunnel(原waterdrop)将hive中数据导入ClickHouse

前言公司分析数据已经存入hive,但需要输入参数计算得到很长一段时间的趋势变化数据(不固定查询),经调研ClickHouse时序优化后比较满足需求,并且ClickHouse在数据量大时最好采用DNS轮询本地表写,分布式表读的工作方式,所以需要写脚本将hive中数据导入ClickHouse,加入到原来的数仓脚本。其实可以采取kafka+spark/streaming方式批量插入clickhouse提供准实时计算,后续看需求吧开始测试:运行环境首先,假设已经安装好seatunnel1.5.1(wate

2021-11-29 14:06:30 3819 9

原创 Sqoop导出hive数据到mysql出现错误的解决方案

问题描述今天在azkaban上查看定时任务调度时,发现一直运行的一个project竟然神奇的失败了,赶紧去查看,还好,只是最后一步ads_to_mysql出错,不会导致数据丢失,但是,后端报表无法显示正常数据了。一、尝试手动运行还是报错,跟自动运行没啥区别,看来不是我忘了同步分发执行脚本。二、查看报错Error: java.io.IOException: Can’t export data, please check failed map task logs at org.apache.sqoo

2021-11-24 17:29:39 3035 1

原创 Presto:Unable to create input format com.hadoop.mapred.DeprecatedLzoTextInputFormat错误解析

我的hive中的ods层表是这样存储的:drop table if exists ods_ipqc_online_tmp;create external table ods_ipqc_online_tmp( `MACH_ID` string COMMENT '机台id', `MACH_IP` decimal(16, 2) COMMENT '机台ip', `IPQC_ONLINEID` string COMMENT 'IPQC在线ID', `CRE

2021-06-05 14:18:19 2817 2

原创 Azkaban上传文件报错:Installation Failed. java.lang.String cannot be cast to java.util.Map

查看logs/azkaban-webserver.log发现:2021/01/19 10:13:31.288 +0800 INFO [ProjectManagerServlet] [Azkaban] Upload: project first version is 0, reference is 338007758\可以确定是.project 文件的问题,读成了version0,所以修改.project 文件:azkaban-flow-version: 2.0注意2.0与:之间要两个空格.

2021-01-19 11:14:47 1208

原创 windows下Kettle9.1连接oracle数据库报错

因为此时 kettle 的版本是最新的,所以理所应当要跟oracle的最新版 ojdbc.jar包配合使用。步骤:oracle官网下载最新版 instantclient-basic-windows.x64-19.9.0.0.0dbru.zip ,解压得到 ojdbc8.jar,放到 kettle 的 data-integration/lib 目录下,然后重启就OK啦...

2020-12-10 15:08:26 827

原创 Centos离线服务器安装包文件---非常简单的方法,不需要去一个个手动下了

前言前面文章中我们已经将centos的iso文件里的package作为yum源, 大部分的软件都可直接安装,但是还是有一部分没有。开始如果是之前的话,我会选择一个rpm包网站,将安装包一个个下好然后拿过来安装,不过自从使用过pip下载离线包,我就在想,yum包管理器说不定也有类似的方法可以很方便直接下载所需依赖包。一,电脑版本离线服务器:centos7.7本机:centos8阿里云:centos7.3二,步骤因为大版本的差异,所以我不能在centos8上直接下载安装包,而要通过阿里云中的c

2020-10-16 10:15:27 1580

原创 windows上安装python并配置源

前言经常在不同电脑安装 python 环境,不能每次都去搜,这里记录一下开始安装包下载直接进入官网,先选择系统版本,然后从上一个个找,他这个排列顺序不是根据 3.9 ,3.8 …来的,而是发布日期顺序。比如 3.6 ,你会发现 Python 3.6.12 - Aug. 17, 2020Note that Python 3.6.12 cannot be used on Windows XP or earlier. No files for this release.意思是没有

2020-10-12 11:54:34 1152

原创 Centos下Gitee+Typora+PicGo存储云端笔记实操记录

前言一直以来都没有将笔记存储在一个固定位置,这里一点那里一点,不利于知识体系化。最近了解到Gitee+Typora存储笔记挺好用的,遂来试着使用。加入PicGo的话,它的主要作用是生成图片外链,如果需要的话可以装,我目前没有怎么用到,不过还是装了它。开始首先下载安装Git,我这里图方便直接安装yum install git安装Typora下载linux版文件解压后得到Typora-linux-x64cd bin/Typora-linux-x64./Typora启动成功

2020-09-09 16:19:42 520 2

原创 vue中echarts使用

前言最近要在vue中使用echarts,觉得挺好玩的,这里记一下笔记。最终得到的是一个可自动刷新的可适应屏幕尺寸的图表,并可手动全屏使用安装echarts依赖npm i echarts -smain.js中配置echarts全局使用:/*全局使用echarts*/import Echarts from 'echarts'Vue.prototype.$echarts = Echarts;在子组件中使用:<!--测试图表--><template> <di

2020-08-27 16:35:22 601

原创 CentOS8安装Typora

前言最近看一些网课,老师们基本都是用Typora做笔记,归纳总结知识点,所以俺也来用用下载:终端使用wget下载(比网页下载快多了)wget https://typora.io/linux/Typora-linux-x64.tar.gz解压:tar -xzvf Typora-linux-x64.tar.gzcd Typora-linux-x64/bin/Typora-linux-x64./Typora启动成功!设置快捷命令:pwd得到当前路径如,我是:/software/Typor

2020-08-18 19:28:09 648

原创 Django从header请求头中的Authorization获取token验证数据

前言之前使用django开发api接口时,约定是要每次请求都要带token这个参数,这样很不方便,最近学了vue,也使用了axios,发现在axios拦截器中可以设置每次请求头中增加一个Authorization属性,用它来自动携带token就很方便了拦截器设置代码:axios.interceptors.request.use(config =>{ console.log(config) /*为请求头对象添加Token验证的Authorization对象,就不用每次都在要传送的字段上加

2020-08-18 17:02:26 8210

原创 vue使用three.js参考代码

import Stats from 'stats.js';import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls';import { Scene, PerspectiveCamera, WebGLRenderer, BoxGeometry, MeshBasicMaterial, Mesh, TextureLoader, DoubleSide } from 'three';export class Applica

2020-08-18 11:36:32 228

原创 vue.config.js常用配置

// vue.config.js常用配置module.exports = { // 基本路径,vue-cli3.3 以前请使用baseUrl publicPath:'/', // 输出文件目录 outputDir:'dist', // 用于嵌套生成的静态资产(js,css,img,fonts)的目录, assetsDir:'', // 生产环境sourceMap,开启会有报错,生产环境为节省空间应关闭 productionSourceMap:true, // webpa

2020-08-18 11:27:02 497

原创 数据统计模块

components/report下新建Report.vue<template> <div> <!--面包屑导航区域--> <el-breadcrumb separator-class="el-icon-arrow-right"> <el-breadcrumb-item :to="{ path: '/home' }">首页</el-breadcrumb-item> <el-breadc

2020-08-17 16:05:08 508

原创 修改用户状态与搜索功能,以及添加用户对话框

api接口文档修改switch@change:<el-table-column label="状态"> <!--作用域插槽,拿到这一行的数据--> <template slot-scope="scope"> <!--状态开关--> <el-switch v-model="scope.row.mg_state" @change="

2020-08-17 11:26:58 311

原创 实现分页效果

在表格<el-table>后增加一个分页组件</el-table> <!--分页区域--> <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="queryInfo.pagenum" :page-sizes="[1, 2, 5,

2020-08-17 10:34:15 499

原创 通过作用域插槽渲染操作列

修改el-table里的内容:<!--用户列表区域--> <!--stripe隔行变色,border加表格竖线--> <el-table :data="userList" stripe border> <!--加索引页--> <el-table-column type="index" label="#"></el-table-column> <el-tabl

2020-08-17 09:13:20 303

原创 自定义状态列的显示效果

使用作用域插槽获取当前行数据 <!--用户列表区域--> <!--stripe隔行变色,border加表格竖线--> <el-table :data="userList" stripe border> <!--加索引页--> <el-table-column type="index" label="#"></el-table-column> <el-ta

2020-08-17 09:09:18 159

原创 绘制用户列表组件的基础布局结构

因为需要在所有的界面中有面包屑和卡片,所以在全局样式globe.css中加入:.el-breadcrumb{ margin-bottom: 10px;}components/user/Users.vue写入:```css<template> <div> <!--面包屑导航区域--> <el-breadcrumb separator-class="el-icon-arrow-right"> <el-bread

2020-08-15 18:44:35 157

原创 保持左侧菜单的激活状态

el-menu有一个属性:可设置default-active="/users",设置index为/users的选项为激活状态但是这样就写死了,选择其他选项的时候不会激活,故需要进一步优化。主要思想,选中选项,将当前选中的选项的index替换掉default-active中的值修改Home.vue <el-menu background-color="#333744" text-color="#fff" activ

2020-08-15 16:33:28 796

原创 侧边栏路由链接改造

点击侧边栏里的选项,我们需要让它能有访问路由,可在<el-menu>中开启router:Home.vue中修改:接口中的path就是路由路径<el-menu background-color="#333744" text-color="#fff" active-text-color="#409EFF" unique-opened :collapse="isColla

2020-08-15 15:27:57 207

原创 首页路由的重定向

components下新建Welcome.vue,前面创建vue文件的时候命名有点不统一,在这里修改一下:Welcome.vue:<template> <div> <h3>Welcome</h3> </div></template><script> export default { name: 'Welcome' }</script><style lang=

2020-08-15 15:03:18 356

原创 侧边栏展开/折叠

Home.vue中el-menu前增加 <!--页面主体区域--> <el-container> <!--侧边栏--> <!--侧边栏折叠与展开--> <el-aside :width="isCollapse ? '64px' : '200px'"> <!--点击折叠/展开--> <div class="toggle-button" @click="

2020-08-15 14:26:39 2239

原创 获取左侧菜单

自己原本制作的接口可能不太适合此练手项目,将api地址替换掉接口地址:https://www.liulongbin.top:8888/api/private/v1/main.js修改//配置axios全局使用import axios from 'axios'axios.defaults.baseURL='https://www.liulongbin.top:8888/api/private/v1/'login.vue中需修改Login()函数 Login() { // 预验证

2020-08-15 11:08:52 414 1

原创 axios拦截器使用

main.js中axios部分加入:// 请求拦截器axios.interceptors.request.use(config =>{ console.log(config) /*为请求头对象添加Token验证的Authorization对象,就不用每次都在要传送的字段上加token了*/ config.headers.Authorization=window.sessionStorage.getItem('token') return config})...

2020-08-15 10:01:43 175

原创 退出功能实现

因为我们是基于token实现登录,后续的请求没有携带token就会强制跳转到登录页面,所以实现退出功能,只需销毁本地存储的token即可将components下的Home.vue修改为:<template> <div> <el-button type="info" @click="logout">退出</el-button> </div></template><script> export de

2020-08-14 15:22:54 319

原创 使用vue路由导航守卫判断登录状态决定是否跳转

在router下的index.js的最最后面export default router前写入//挂载路由导航守卫router.beforeEach((to,from,next)=>{ // to 将要访问的路径 // from 代表从哪一个路径跳转而来 // next 是一个函数,表示放行 // next() 放行 next('/login') 跳转 if (to.path === '/login') return next(); //获取token const tok

2020-08-14 15:13:20 1358

原创 使用vue进行登录后路由跳转处理

接上文登录页面编写登录成功后在components文件夹下新建Home.vue:<template> <div> Home组件 </div></template><script> export default { name: "Home" }</script><style lang="less" scoped></style>router文件夹下index.

2020-08-14 14:11:17 2075 2

原创 CentOS(linux)循环登录(闪退)的一种可能的解决方法

前言最近开机之后通过远程ssh刷init 5进系统时发现,我经常使用的账号输入账号密码后屏幕闪一下又回到登录界面,也就是所谓的循环登录,其他的账号登录都是正常的,烦了我有一段时间了,百度一下都说循环登录是环境变量问题,我把所有自己设置的环境变量都注释掉之后还是这样,说明不是这方面的问题。解决方案无奈之下,只好把这个用户删掉,重启后使用其他账户刷init 5登录,但是惊奇地发现这个账户也不能登录了,其他账户登录都是正常的,仔细品了一下,我关掉了其他电脑上使用用此账户的远程连接,然后发现:成了!原因未

2020-08-14 14:00:26 4209 4

原创 使用vue编写登录页面详细过程

首先,创建项目loginvue create logincnpm install elementui vue-router vuex axios结构如下具体操作过程在main.js中写入:import Vue from 'vue'import ElementUI from 'element-ui'import 'element-ui/lib/theme-chalk/index.css';import App from './App.vue'import router from './r

2020-08-13 15:55:22 16664 24

原创 Django跨域访问

一,下载安装pip install django-cors-headers修改settings.py配置文件ALLOWED_HOSTS = ['*']INSTALLED_APPS = [ .... 'corsheaders', # 跨域 ....]# 一定要在'django.middleware.common.CommonMiddleware'前MIDDLEWARE = [ .... 'corsheaders.middleware.CorsMiddleware',

2020-08-12 16:32:01 288

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除