- 博客(53)
- 收藏
- 关注
原创 sqoop 整库导入数据
文章目录需求整库导入常用参数通用参数导入控制参数输出格式参数输入分析参数Hive参数代码生成参数需求最近在迁移老数据的时候需要把mysql的整个库全部迁移到hive,由于mysql的表和库比较多,建表麻烦,所以只有祭出神器–sqoop的整库导入。整库导入sqoop import-all-tables --connect jdbc:mysql://ip:3306/dbname --username user --password password --hive-database abc -m 1
2021-08-26 12:23:04
573
原创 Clickhouse中替换row_number()
前言今天同事在使用ck的时候需要对查询的结果添加行号,当然我们第一时间想到的肯定是row_number(),但是ck的row_number()还在测试中,需要设置参数才可以用,这对于jdbc来说就是一场灾难。解决办法ck中有个rowNumberInAllBlocks()函数,作用是返回此函数处理的所有块内的递增行号。所以我们可以这样写: select rowNumberInAllBlocks(),* from test.test limit 100但是返回的下标是从0开始,如果你想从1开始,你
2021-06-25 12:31:01
2347
1
原创 clickhouse SLB 服务搭建
文章目录前言nginx安装nginx配置使用application.yml文件配置spring boot 的config类配置文件前言最近在使用flink消费kafka的数据同步到clickhouse,为了保证高可用,特此查了一下资料,网上大部分都是使用的BalancedClickhouseDataSource,但是这个包虽然可以做到一定程度的负载均衡,但是无法做到故障转移。有兴趣可以去看下BalancedClickhouseDataSource的源码解析:https://blog.csdn.net/a
2021-06-16 12:12:45
938
1
原创 Clickhouse负载均衡客户端BalancedClickhouseDataSource源码分析
文章目录BalancedClickhouseDataSource源码分析结论BalancedClickhouseDataSource源码分析BalancedClickhouseDataSource的完整路径是ru.yandex.clickhouse.BalancedClickhouseDataSource,源码主要包括三部分,构造方法、获取连接、以及生成可用的地址列表。BalancedClickhouseDataSource实现了javax.sql.DataSource,参数中allUrls是构造方法
2021-06-16 11:58:20
3962
转载 windows搭建Nginx服务器及常见问题
下载安装下载地址:http://nginx.org/en/download.html并解压到想要存放的路径,我是直接放到D盘目录下了(我解压的时候重新命名了)修改配置文件,解压后进入conf目录,修改nginx.conf文件添加你的文件路径,比如我要把D盘的/CARBON目录作为文件存放目录。在sever中添加如下配置location /CARBON {alias D:\CARBON;allow all;autoindex on;}location后面的 / 为请求的路径..
2021-06-11 17:08:48
312
原创 linux的一些文件操作命令
有一个需求就是导入csv文件到clickhouse中,但是发现csv文件有特殊字符,总结一下解决这个问题所用到的linux命令sed -i s"#\\"##"g test.csv替换文件中的\为空sed -i ‘s/\r\n//g’ base_0.csv替换\r\n为空sed -n ‘99613,99614p’ base.csv查看base.csv中的99613到99614行grep ‘xxx’ test.csv查找test.csv文件中的xxxvim +n test.csv查看tes
2021-06-10 17:46:44
129
原创 wget中的使用变量数据
在工作中有一个需求就是使用wget来下载每天的数据到本地服务器,命令如下:wget 'http://user:8QmjvkSVISqN@xx.xxx.xxx.13:80/koi_role_card_details_day_$daydate.csv'但是,执行的koi_role_card_details_day_$daydate.csv是而不是变量的字符串。解决办法:更改命令,使用双引号wget "http://user:8QmjvkSVISqN@xx.xxx.xxx.13:80/koi_role
2021-06-10 17:37:16
514
转载 beeline连接HIVE默认登入使用anonymous用户权限不够
在用beeline连接hive查询表数据时,出现错误权限不够ERROR : Job Submission failed with exception 'org.apache.hadoop.security.AccessControlException(Permission denied: user=anonymous, access=WRITE, inode="/user":hdfs:supergroup:drwxr-xr-x at org.apache.hadoop.hdfs.server.name
2021-06-10 17:31:03
1261
原创 flink的Watermark 1.12版本的实现方式
watermark以前的实现方式首先需要指定时间为eventTimeenv.setStreamTimeCharacteristic(TimeCharacteristic.EventTime);使用BoundedOutOfOrdernessTimestampExtractor类来生成watermark// 转换成SensorReading类型,分配时间戳和watermarkDataStream<SensorReading> dataStream = inputStream.ma
2021-06-07 11:56:25
1026
转载 Flink学习笔记(6)——时间语义与Wartmark及EventTime在Window中的使用
文章目录前言WatermarkWatermark的概念前言上一章我们学习了窗口,理想状态下的流式数据是按照发生的时间先后依次排序输入,下游在消费的时候也是按照时间顺序依次取出。但是在实际生产中,数据往往会因为各种原因而乱序,例如网络抖动、服务器故障之类的。这时候就需要Watermark发挥作用了。WatermarkWatermark的概念watermark是一种衡量Event Time进展的机制,它是数据本身的一个隐藏属性。通常基于Event Time的数据,自身都包含一个timestamp,例如
2021-06-07 11:31:05
297
转载 Waterdrop FAQ/常见问题
前言由于github老是打不开,转载部分waterdrop常见问题。原文地址:https://github.com/InterestingLab/waterdrop/issues/267waterdrop使用文档地址:https://interestinglab.github.io/waterdrop-docs/#/zh-cn/v1/问题及解决办法以集群模式(cluster)运行waterdrop,提示找不到:plugins.tar.gz使用cluster模式提交前,需要您先执行如下命令:
2021-06-03 18:25:06
2367
7
原创 waterdrop使用cdh的spark2提交任务
有的公司使用的是cdh集群,用waterdrop同步数据的时候会遇到spark版本太低,需要切换到spark2去。特此记录一下切换过程以及遇到的问题。更改waterdrop的bin目录下的start-waterdrop.sh文件,更改spark-submit为spark2-submit更改waterdrop的config目录下的waterdrop-env.sh文件,更改SPARK_HOME的配置。如果环境变量中配置了SPARK_HOME,首先检查环境变量中的SPARK_HOME问题:E
2021-06-03 12:23:01
496
原创 spark提交任务报错:java.lang.NoClassDefFoundError: org/apache/hadoop/fs/FSDataInputStream
官方解释:https://spark.apache.org/docs/latest/hadoop-provided.html从 Spark 1.4 版本开始,该项目打包了“Hadoop free”版本,让您可以更轻松地将单个 Spark 二进制文件连接到任何 Hadoop 版本。要使用这些构建,您需要修改 SPARK_DIST_CLASSPATH 以包含 Hadoop 的包 jar。最方便的方法是在 conf/spark-env.sh 中添加一个条目。现在以hadoop这个命令已经在环境变量中存在的情况
2021-06-03 11:16:25
1169
原创 Flink学习笔记(5)——window
文章目录基本概念window类型滚动窗口(Tumbling Windows)滑动窗口(Sliding Windows)会话窗口(Session Windows)window api概述创建不同类型的窗口window function其他api基本概念一般真实的流都是无限的,怎么处理无界的数据?在实际生产中,需要把无限的数据流进行切分,得到有限的数据集进行处理。窗口(window)就是将无限流切割为有界流的一种方式,它会将流数据分发到有限大小的桶中进行分析。window类型flink里提供了时间窗
2021-05-28 17:57:58
152
原创 linux多个日期循环执行shell脚本
在平常执行shell脚本中,有时候需要执行一段日期的shell脚本,记录一下写法。#!/bin/shif [ $# == 2 ]; then datebeg=$1 dateend=$2else echo "请输入开始时间和结束日期,格式为2017-04-04" exit 1fibeg_s=`date -d "$datebeg" +%s`end_s=`date -d "$dateend" +%s`echo "处理时间范围:$beg_s 至 $end_s"w
2021-05-21 14:45:18
526
原创 windows下使用nc
下载netcat,地址:https://eternallybored.org/misc/netcat/(两个版本下载哪个都可以)解压,把nc.exe放到C:\Windows\System32下,杀毒软件阻止,关掉就好window + R,输入cmd,回车,输入nc -l -p 7777即可
2021-05-20 16:30:04
425
原创 impala时间戳转时间的时区问题
问题在使用impala的过程中,发现impala时间戳转日期时间会比按照北京时间转出来的时间少8个小时,查询得知,impala默认配置为世界时间(UTC),和东八区差了8个小时。解决办法impala启动时加 -use_local_tz_for_unix_timestamp_conversions=true。在cdh里面,impala->配置->mpala Daemo ->Impala Daemon 命令行参数高级配置代码段(安全阀) 加 -use_local_tz_for_unix
2021-05-20 15:03:10
2579
转载 clickhouse开窗函数-全解
详解开窗函数用法-- 当前版本21.4开窗函数功能还处于试验阶段,所有需要打开如下设置set allow_experimental_window_functions = 1;aggregation-- 先看一个简单的例子 通过count开窗进行逐层计数,其中intDiv(number, 3)表示除3向下取正select number, count() over (partition by intDiv(number, 3) order by number rows unbounded pre
2021-05-20 11:00:01
7016
6
原创 hive查询除某些字段的其余字段
在日常使用hive的时候,难免会遇到查询除某些字段的其余字段,比如使用开窗函数分组取第一条,那有没有一种方法能达到这个效果呢?答案是有的。首先需要设置一个参数:set hive.support.quoted.identifiers=None;然后指定要剔除哪个字段:select `(dateline)?+.+` from test.dm_user_add 剔除多个字段:## 最好按照字段顺序来写,遇到字段未过滤的时候把字段顺序换一下试试select `(dateline|thirty_day
2021-05-18 11:54:49
3787
原创 Flink学习笔记(5)——算子
基本转换算子map:输入一条记录,输出一个结果,不允许不输出flatmap:输入一条记录,可以输出0或者多个结果filter:如果结果为真,则仅发出记录package transform;import org.apache.flink.api.common.functions.FilterFunction;import org.apache.flink.api.common.functions.FlatMapFunction;import org.apache.flink.api
2021-05-14 17:26:56
245
原创 clickhouse的常用日期函数
时间获取获取当前时间戳:select toUnixTimestamp(now())获取指定时间的时间戳:select toUnixTimestamp('2021-05-11 14:37:37')获取当前日期时间:select now()获取当前日期:select today()获取昨日日期:select yesterday()时间转换日期时间转日期:select toDate('2021-05-11 14:31:31')日期转时间戳:select toUnixTimestamp(toDat
2021-05-12 11:00:16
13908
1
原创 Flink获取kafka的offset
前言在工作的时候,一直想知道flink消费kafka的时候怎么去获取offset,以便有时候自己管理offset。在网上找了很多资料也没有找到。研究源码,发现SimpleStringSchema主要是实现了DeserializationSchema,继续深入发现了KeyedDeserializationSchema这个接口。实现方式先写一个kafka的msg的类import lombok.Data;@Datapublic class KafkaMsg { private Stri
2021-05-10 18:34:50
1779
2
原创 Flink学习笔记(4)——source and sink
文章目录前言从集合读取数据从文件读取数据从socket读取数据从kafka读取数据自定义Source前言flink中提供了很多种数据源,有基于本地集合的 source、基于文件的 source、基于网络套接字的 source、自定义的 source。自定义的 source 常见的有 Apache kafka、Amazon Kinesis Streams、RabbitMQ、Twitter Streaming API、Apache NiFi 等,当然你也可以定义自己的 source。Flink 常见的
2021-05-10 18:28:49
579
转载 Flink学习笔记(3)——运行时架构中的四大组件|任务提交流程|任务调度原理|Slots和并行度中间的关系|数据流|执行图|数据得传输形式|任务链
前言Flink运行时架构主要包括四个不同的组件,它们会在运行流处理应用程序时协同工作:作业管理器(JobManager)、资源管理器(ResourceManager)、任务管理器(TaskManager),以及分发器(Dispatcher)。因为Flink是用Java和Scala实现的,所以所有组件都会运行在Java虚拟机上。每个组件的职责如下:作业管理器(JobManager)控制一个应用程序执行的主进程,也就是说,每个应用程序都会被一个不同的JobManager 所控制执行。JobManage
2021-05-10 16:15:57
274
原创 Flink学习笔记(2)——任务提交模式
文章目录前言Standalone模式yarn模式前言本文介绍flink的任务提交模式。Standalone模式Web UI提交job打开flink的Web UI,在Web UI的Submit New Job提交jar包。Job参数:Entry Class:程序的入口,指定入口类(类的全限制名)Parallelism:任务的并行度 ProgramArguments:程序启动参数,例如–host localhost --port 7777Savepoint Path:手动备份地址
2021-04-29 17:03:52
1281
原创 Flink集群搭建教程
文章目录前言下载解压修改配置文件配置flink环境变量(三台主句修改/etc/profile)启动flink集群问题及解决办法前言本次教程使用了三台主机分别是bigdata151、bigdata152、bigdata153。下载按照所需版本下载 比如scala版本 地址:https://flink.apache.org/downloads.html解压上传到服务器,解压。tar -zxvf flink-1.12.2-bin-scala_2.12.tgz修改配置文件进入conf目录下
2021-04-29 14:32:45
642
原创 Flink学习笔记(1)——流批处理
文章目录pom文件批处理流处理总结学习flink怎么能少得了wordcount呢?pom文件flink1.0版本及以下<properties> <flink.version>1.10.0</flink.version> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</
2021-04-27 22:43:07
153
原创 hive可视化工具-dbeaver
文章目录前言下载dbeaver安装连接hive前言在黑窗口操作hive是真的麻烦,而且数据查看也不好看。所以上网去找到了dbeaver,经过一番折腾,终于搞定了。下载dbeaver链接:https://dbeaver.io/download/安装普通安装即可,建议自定义一个目录。连接hive选择新连接类型->Apache hive(从这里看到,DBeaver支持的数据库还是很多)填一下hiveserver的ip和hive的数据库名点击编辑驱动配置,配置驱动经过测
2021-04-27 11:59:33
922
原创 impala刷新元数据以及一些命令
文章目录元数据刷新shell 命令元数据刷新impala有两种刷新元数据的方法,invalidate metadata和refresh。invalidate metadata是用于刷新全库或者某个表的元数据,包括表的元数据和表内的文件数据,它会首先清楚表的缓存,然后从metastore中重新加载全部数据并缓存,该操作代价比较重refresh只是刷新某个表或者某个分区的数据信息,它会重用之前的表元数据,仅仅执行文件刷新操作,它能够检测到表中分区的增加和减少,主要用于表中元数据未修改,数据的修改。#
2021-04-27 11:30:15
2423
原创 hive常用日期函数
文章目录前言前言工作原因有时候需要使用到hive的日期函数,但是很多东西都记不住,每次网上去找又浪费时间,干脆自己整理一个。
2021-04-26 16:07:22
809
原创 davanci连接impala以及使用变量
文章目录前言配置impala使用变量前言最近在使用davanci配置一些报表,其中使用了impala作为数据源,也使用了davanci的变量功能,特此记录一下。davanci用户手册:https://edp963.github.io/davinci/docs/zh/2.2-view配置impalaDavinci 理论上支持所有有 JDBC 的数据源,但是davanci只提供了mysql的驱动包,如果你需要使用其他的数据源,需要手动把驱动包放入lib目录中,并重启davanci。然后再davanc
2021-04-25 16:15:46
1115
原创 写hive到clickhouse的脚本遇到的问题及解决办法
文章目录背景步骤背景最近有个需求,就是需要把hive的数据导入到clickhouse,目前的做法是先用waterdrop把hive的数据导入clickhouse的本地表中,然后再清洗写入分布式表中。手动处理已经是完全可以的,但是想做成定时调度,但是我们这边的大数据集群和clickhouse是分开的,所以需要远程调用执行clickhouse的命令,下面就是我在写脚本的时候遇到的问题以及解决办法,特此记录一下。步骤waterdrop搭建以及导数据到clickhouse可以参考:https://blog.
2021-04-23 10:45:26
1235
原创 waterdrop配置文件动态赋值
文章目录前言解决办法cat EOF前言最近在使用waterdrop读取hive的数据,并写入clickhouse。但是hive是按照天来分区的,所以同步数据的时候需要动态的选择分区。但是waterdrop的配置文件是conf文件,没法动态赋值。特此记录一下这个解决办法。解决办法我们可以使用cat <<!EOF把变量传进去,并且把脚本生成在文件夹中,然后再使用waterdrop的命令调用即可。demo如下:#!/bin/bash# 日期及参数配置输入,默认当天无参数输入if [ $
2021-04-22 10:26:54
931
转载 Spark和Flink的对比,谁才是大数据计算引擎王者?
文章目录简介区别总结简介Spark简介Spark的历史比较悠久,已经发展了很长时间,目前在大数据领域也有了一定的地位.Spark是Apache的一个顶级项目。它是一种快速的、轻量级、基于内存、分布式迭代计算的大数据处理框架。,Spark最初由美国加州伯克利大学(UCBerkeley)的AMP(Algorithms,Machines and People)实验室与2009年开发,是基于内存计算的大数据并行计算框架,可用于构建大型的、低延迟的数据分析应用程序。2003年加入Apache孵化器项目后的到迅猛
2021-04-21 21:56:52
684
原创 clickhouse的系统表
文章目录前言系统表system.asynchronous_metricssystem.clusterssystem.columnssystem.databasessystem.detached_partssystem.dictionariessystem.eventssystem.functionssystem.graphite_retentionssystem.mergessystem.metricssystem.metric_logsystem.partssystem.part_logsystem.pr
2021-04-21 09:40:58
2179
原创 clickhouse的常用数据类型
文章目录数据类型整型浮点数BooleanString和FixedString(N)UUIDDate和DateTime数据类型整型整型包括有符号整型或⽆符号整型有符号整型范围:Int8 - [-128 : 127]Int16 - [-32768 : 32767]Int32 - [-2147483648 : 2147483647]Int64 - [-9223372036854775808 : 9223372036854775807]⽆符号整型范围:UInt8 - [0 : 255]U
2021-04-20 09:42:21
1074
原创 clickhouse配置查询记录query_log
文章目录前言配置query_log前言最近在使用clickhouse中,看到官方文档上可以配置query_log,但是文档上写的配置比较模糊,特此记录一下具体配置方法,以下配置针对的是集群中所有机器。配置打开clickhouse的users.xml文件,在profiles中加入<log_queries>1</log_queries>打开config.xml文件,在yandex中加入query_log的配置:<query_log> <datab
2021-04-16 18:05:35
4219
原创 clickhouse常用操作命令
文章目录前言基本操作客户端常用参数多行查询常用的sql语法导入csv数据导入数据时忽略错误导出csv数据删除分区查看表大小执行sql文件查看分区信息查看后台进程杀死后台进程前言在日常使用clickhouse中,会用到很多命令,特此整理记录一下。以下大部分内容都来自clickhouse_中文文档.pdf。文档链接:https://pan.baidu.com/s/1Ai33BE6jClIs9kMDElv5Yg 提取码:pp7h基本操作在我们日常使用clickhouse中,用的最多的应该就是客户
2021-04-15 17:32:17
11874
转载 ClickHouse连接超时的解决方法
在通过ClickHouse官方驱动使用java代码连接数据库的时候,有时由于ClickHouse服务器在高负载下出现滞后以及ClickHouse服务器和JDBC驱动程序的超时设置不同所致。当我们有很多选择查询时,ClickHouse服务器的性能将大大降低,简单查询将运行30秒以上,从而导致JDBC驱动程序超时。出现报错:ClickHouse exception, code: 159, host: 10.100.xx.xxx, port: 8123; Read timed out解决方法:在连接的路径后
2021-04-15 17:29:52
9189
1
原创 clickhouse on cluster设置
文章目录前言解决办法前言在平常使用clickhouse中会有一些建表,删表等操作,但是对于整个集群来说每台服务器都需要建表。在ClickHouse集群中,我们可以在DDL语句上附加ON CLUSTER <cluster_name>的语法,使得该DDL语句执行一次即可在集群中所有实例上都执行,简单方便。但是需要一些配置才行,如果不配置在使用这个语法的时候会报错:Code: 139, e.displayText() = DB::Exception: There is no Distribute
2021-04-08 12:34:37
5825
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人