- 博客(21)
- 资源 (4)
- 收藏
- 关注
原创 使用Java将Json文件转换成CSV文件
将JSON文件数据导入ClickHouse的时候,由于JSON数据格式相对复杂,不是简单的K-V格式,所以将JSON数据进行处理,转换成CSV格式,代码如下:import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;import java.io.*;import java.text.SimpleDateFormat;import java.util.Date;/** * @program: Clickho
2022-04-13 14:09:12 3545
原创 Flink读取Iceberg数据
1.依赖参考:https://iceberg.apache.org/docs/latest/flink/#reading-with-datastream<dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-java</artifactId> <version>1.12.0</version> &
2022-03-20 12:48:41 2702
原创 Flink将CSV/JSON文件导入Iceberg
一.建表以下Sql都是在Flink的sql-client客户端进行操作1. 创建Catalog-- 我这里使用的是Hadoop Catalogcreate catalog iceberg_catalog with( 'type'='iceberg','catalog-type'='hadoop','clients'='2','warehouse'='hdfs://hadoop01:9000/warehouse/iceberg');2. 创建表create table if not e
2022-03-20 12:41:35 2245
原创 Java将CSV文件批量导入InfluxDB
1. 依赖 <dependency> <groupId>org.influxdb</groupId> <artifactId>influxdb-java</artifactId> <version>2.10</version> </dependency>2. 工具类import org.influxdb.InfluxDB;import org.influ
2021-10-15 11:19:28 693 1
原创 ES在聚合时,结果字段被分词处理
在上篇文章中对src_ip_location字段进行分组并求count,得到的结果却是ES把结果字段进行了分词,没有达到预期的结果.解决方案:在聚合的字段后面加keywordSQL语法ES语法{ "from": 0, "size": 0, "_source": { "includes": [ "src_ip_location.keyword", "COUNT" ], "excludes": [] }, "stored_fields": "src_ip_locat
2021-08-30 17:11:32 635
原创 ES之Fielddata is disabled on text fields by default
使用 Elasticsearch 进行聚合的时候,如果对 text 类型的时候就会出现如下错误。解决方案如下:最终结果如下所示:
2021-08-30 16:58:58 314
原创 python批量解析气象文件并转成CSV文件
具体细节请参考上篇文章完整代码from netCDF4 import Datasetimport csvimport stringimport netCDF4 as nfimport datetimeimport ospath = r"D:\data\2019\\"files = os.listdir(path)print(files)def getDate(time): arr = nf.num2date(nc.variables['time'][:], 'days
2021-08-23 16:55:07 420
原创 python解析nc气象文件并转成CSV文件
1.数据说明NetCDF(network Common Data Form)网络通用数据格式是一种面向数组型并适于网络共享的数据的描述和编码标准。目前,NetCDF广泛应用于大气科学、水文、海洋学、环境模拟、地球物理等诸多领域。用户可以借助多种方式方便地管理和操作 NetCDF 数据集。NetCDF全称为network Common Data Format,中文译法为“网络通用数据格式”;netcdf文件开始的目的是用于存储气象科学中的数据,现在已经成为许多数据采集软件的生成文件的格式。•从数学上来
2021-08-23 16:48:18 9265 36
原创 使用Flink将CSV文件导入ClickHouse中
参考:https://github.com/ivi-ru/flink-clickhouse-sink1.环境 <dependency> <groupId>ru.ivi.opensource</groupId> <artifactId>flink-clickhouse-sink</artifactId> <version>1.3.1</version> </depend
2021-08-18 14:00:39 537
原创 使用waterdrop将kudu数据抽取到clickhouse
1.waterdrop下载下载链接:https://github.com/InterestingLab/waterdrop/releases根据waterdrop官网提示:我本地测试环境spark版本是2.4.8,waterdrop版本是1.5.1。先解压缩:tar -zxvf waterdrop-1.5.1.zip -C /opt/然后修改配置文件:vim /opt/waterdrop-1.5.1/config/waterdrop-env.sh# 添加spark执行环境SPARK_HOME=
2021-07-30 14:56:06 506
原创 Mysql获得特殊时间
-- 返回昨天select DATE_SUB( curdate( ), INTERVAL 1 DAY )-- 返回上周第一天select date_sub(now(),interval dayofweek(now())-1+6 day)-- 返回上周最后一天select date_sub(now(),interval dayofweek(now())-1 day)-- 返回本周第一天select date_sub(now(),interval dayofweek(now())-2 day
2021-07-25 21:43:21 113
原创 ClickHouse数据类型之AggregateFunction
AggregateFunctionAggregateFunction是聚合函数的中间状态,可以通过聚合函数名称加-State后缀的形式得到它。与此同时,当您需要访问该类型的最终状态数据时,您需要以相同的聚合函数名加-Merge后缀的形式来得到最终状态数据。AggregateFunction就有些许数据立方体的意思,它能够在合并分区的时候,按照预先定义的条件,聚合数据。同时,根据预先定义的聚合函数,计算数据并通过二进制的格式存入表内。将同一分组 下的多行数据,聚合成一行,既减少了数据行,又降低了后续聚合查
2021-06-15 15:27:28 6058
原创 CDH使用api去管理集群
由于工作需要,CDH工作界面无法访问,只能通过api去访问.1.获得集群名称curl -u user:password 'http://cdh01:7180/api/v1/clusters'{ "items" : [ { "name" : "cdh 1", "version" : "CDH5" } ]2.获得集群所有组件状态信息curl -X GET -u user:password 'http://cdh01:7180/api/v18/clusters/cdh%201/
2021-03-12 16:08:37 773
原创 Spark SQL之Caused by: java.io.IOException: Not a file
一直以来调度任务正常的spark sql任务在执行的时候,突然遇到了错误,核心错误如下:ERROR datasources.FileFormatWriter: Aborting job null.org.apache.spark.sql.catalyst.errors.package$TreeNodeException: execute, tree:Caused by: org.apache.spark.sql.catalyst.errors.package$TreeNodeException: e
2021-02-22 16:09:09 3130
原创 shell之未找到命令
在写shell脚本的时候一直报错未找到命令,脚本如下:#!/bin/bashin_date=$1if [ ! $in_date ]; thenyesterday=`date -d "yesterday" '+%Y%m%d'`yesterday1=`date -d "yesterday" '+%Y-%m-%d'`elseyesterday=$in_dateyesterday1=`date -d "$in_date" '+%Y-%m-%d'`fiecho $yesterdayecho $
2021-02-01 16:55:55 9055
原创 azkaban使用curl命令对任务进行批量处理
通常,人们希望不必使用Web UI就可以与Azkaban进行交互。Azkaban有一些公开的ajax调用,可以通过curl或其他一些HTTP请求客户端进行访问。所有API调用都首先需要正确的身份验证。1.认证通过curl对azkaban的任务进行调度,首先需要登录鉴权。登录成功后返回一个session.id,以后通过session.id进行身份验证。因此每次使用curl指令除了登录操作,其他都需要这个参数。curl -k -X POST --data "action=login&usernam
2021-01-29 17:28:49 740
原创 shell脚本获取hive中数据,并进行预警
数据每天都要抽取到hive中,在生产中可能会遇到各种各样的问题,比如集群宕机,kafka出现故障等等,可以写一个shell脚本,从hive中拿到数据,然后将报警信息发送邮件或者企业微信。脚本如下:#!/bin##发送微信in_date=$1if [ ! $in_date ]; thenyesterday=`date -d "yesterday" '+%Y%m%d'`yesterday1=`date -d "yesterday" '+%Y-%m-%d'`elseyesterday=$in
2021-01-29 15:21:40 1097
原创 Caused by: java.sql.SQLException: Can‘t call commit when autocommit=true
在使用spark将hive中的数据导出到Mysql的时候遇到这个一个错误Caused by: java.sql.SQLException: Can't call commit when autocommit=true at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:934) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:931)
2021-01-27 17:51:24 943
原创 azkaban任务调度时报错error=13, 权限不够
最近在使用azkaban调度shell脚本的时候,遇到了一个错误,错误日志大概如下:ava.lang.RuntimeException: java.io.IOException: Cannot run program "/SqoopScripts/import/usermail/import_t_usermail.sh" (in directory "/azkaban/azkaban-exec-server/executions/1714/d_report_subscribe"): error=13, 权
2021-01-21 16:37:33 2321
原创 物流管理系统之数据仓库实现(二)
1. 背景在上篇文章中实现了物流管理系统,在这篇文章中将使用大数据相关技术,模拟生产环境下对数据的处理过程,将系统业务流程中产生的登录、订单、商品等相关的业务交互数据和埋点用户行为数据抽取到数据仓库中,然后企业的决策者需要及时地对这些数据进行归类分析,获得企业运营的各种业务特征,从而为下一步的经营决策提供数据支撑。2. 技术实现2.1 SqoopSqoop是Sql-to-Hadoop的简称。Sqoop是一个用于Hadoop和结构化数据存储(如关系型数据库)之间进行高效传输大批量数据的工具。它包括以下
2020-12-24 15:06:56 1835 1
原创 物流管理系统之JavaEE实现(一)
1.背景随着经济全球化和电子商务的发展,快递业务量也逐年攀升。传统的人工处理操作复杂且耗时,并且可能会出现价格不统一、资料不完整等问题,已经不能满足人们的需求。2.功能实现2.1注册登录不同的角色注册...
2020-12-24 11:00:56 1305 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人