自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ChengYanan的博客

大数据技术学习园地

  • 博客(562)
  • 资源 (13)
  • 论坛 (1)
  • 收藏
  • 关注

原创 shell 脚本小技巧【持续更新中】

文章目录shell 脚本中,使用vim打开文件非编辑模式下,光标放在数字上,使用 Ctrl+a 组合,可以使数字+1

2021-07-17 19:02:59 35

原创 Impala SQL解决动态分区 过多小文件问题

在执行的SQL前加上:set NUM_NODES=1;如下:set NUM_NODES=1;refresh ods.ods_sensors_share_event_text;insert overwrite dwd.dwd_sensors_share_event partition(`date`)selectshare_type,url,share_user_id,share_result,site_resource,is_employee,replace(regexp_extract(

2021-07-30 11:30:45 1

原创 SQL 的 WITH ROLLUP 用法

MySQL中有个 with rollup 语法,用法是跟在group by 字段之后 ,可以在分组字段的基础上做一个汇总统计。例如以下SQL:就是在company的基础上又做了一个汇总,这个对于数据分析很有帮助。

2021-07-29 19:20:02 8

转载 【SQL】用户中两人一定认识的组合数

设表名:table0现有城市网吧访问数据,字段:网吧id,访客id(身份证号),上线时间,下线时间:规则1、如果有两个用户在一家网吧的前后上下线时间在10分钟以内,则两人可能认识规则2、如果这两个用户在三家以上网吧出现【规则1】的情况,则两人一定认识需求:该城市上网用户中两人一定认识的组合数。表如下:...

2021-07-29 14:58:53 6

原创 计算相互关注类型的SQL

计算相互关注类型的SQL,这是前一段时间某公司的面试题,有多种思路,我这里简单实现两种:gift表: 代表着`uid`给`to_uid` 送了礼物follow表:代表`uid`关注了`to_uid`

2021-07-26 20:58:45 22

原创 Windows 系统【win 10】查看 哪个进程在使用某个文件

前提今天要删除一个文件夹,但是却提示文件夹或文件被另一个程序占用了:这种情况在Linux中就是lsof,但是在Windows系统中就比较隐秘:1. 打开任务管理器2.打开资源监视器3.搜索相应的文件名然后右键,结束进程就可以了...

2021-07-24 10:02:05 17

转载 计算互相关注的SQL怎么写

计算互相关注的SQL应该怎么写用户好友关系是一个产品的核心数据,只允许互相关注的用户之间发消息称为强关系型产品,比如微信;反之,不互相关注也能看到动态,比如微博,就是弱关系型产品因为微信的存在,现在基本能做大的都是社区型的,弱关系型的产品了。所以互联网公司就很容易碰到,从单向关注数据中计算是否双向关注这种需求。假设现在有一张表,叫table_relation里面只有两个字段,from_user,to_user, 代表关注关系从from指向to,即from_user关注了to_user。select

2021-07-20 21:00:10 11

原创 Linux expect 自动输入密码

脚本开头要写上expect的路径#!~/.software/expect5.45/expect 完整脚本demo如下:#!~/.software/expect5.45/expect spawn scp -r dead.letter bigdata@cdh01:/home/bigdata/expect "*password"send "xxxxx\n"expect eof

2021-07-20 13:43:26 16

转载 ORC和Parquet格式的选择

重点:ORC只支持snappy压缩格式,但是snappy不支持分片,如果文件较大只能通过一个task读取,会导致map读取的数据倾斜;Parquet支持snappy和lzo压缩,lzo支持分片,所以如果存在大文件(压缩之后的大小远大于128M),则适合采用 Parquet + lzo压缩的方式。ORC和Parquet都属于行列式的存储格式,那么在Hive中如何进行选择呢?ORCcreate table student_txn(id int,name string)//指定存储格式stored

2021-07-19 17:05:02 14

原创 shell 脚本 每日调度SQL,失败则调度多次,成功则直接退出

$ cat sku_schedule.sh export psimport_sku(){ impala-shell -f xxx.sql ps=$? if [ $ps -eq 0 ];then echo "xxx信息已更新" fi}for ((i=0;i<5;i++))do import_sku if [ $ps -eq 0 ];then

2021-07-15 20:02:51 16

转载 could only be written to 0 of the 1 minReplication nodes. There are 1 datanode(s) running and 1 node

问题描述在使用hive insert overwrite更新分区表的时候出现这个报错。意思是没用可用的DataNode了。解决方案网上看到的类似的解决方案有以下两种:但我这里都不是。我这里的原因是hdfs空间被占满了,而hive在执行的时候会往/tmp下读写大量的临时数据,由于没有空间而报错。默认情况下,hive脚本执行完之后会自动清理掉这些临时文件。这里之所以出现/tmp下大量文件没被清理,是因为之前自己有多次没等hive脚本执行完就Ctrl +c掉了,所以有大量临时文件未清理。因此,最

2021-07-14 17:34:29 8

原创 【Impala】WARNINGS: Read xx MB of data across network that was expected to be local

WARNINGS: Read 172.33 MB of data across network that was expected to be local. Block locality metadata for table 'ods.ods_sku_v2_online_offline_sku' may be stale. This only affects query performance and not result correctness. One of the common causes f

2021-07-14 16:07:48 18

原创 sed 删除文件中含有特定字符(串)的行

如:删除文件中含有字符串DRFA的行:sed -i '/DRFA/d' users_2021-07-12.csv

2021-07-12 16:11:47 13

转载 Hive分区表新增字段,查询为Null

1.问题在开发过程中,向hive分区表新增字段,发现查询新增字段的值为NULL2.问题复现1.创建分区表,并插入数据create table student(id int,name string) partitioned by (dt string);insert into table student partition(dt = '2019-11-13') select 1,'zhangsan';insert into table student partition(dt = '2019-11

2021-07-12 15:02:32 18

原创 【未解决】hive 客户端报如下错

报错信息如下--hiveconf hive.root.logger=DEBUG,DRFA2021-07-09 17:03:27,602 main ERROR Unable to locate appender "DRFA,console" for logger config "root"2021-07-09 17:03:29,132 main ERROR Unable to locate appender "FATAL" for logger config "root"2021-07-09 1.

2021-07-09 19:49:08 22 2

原创 hive 的 get_json_object拆解JSONArray demo

select get_json_object('{"data": [{"id1": 1,"name1": "zhangsan"},{"id2": 2,"name2": "lisi"},{"id3": 3,"name3": "wangwu"}]}','$.data[0].id1') as id1,get_json_object('{"data": [{"id1": 1,"name1": "zhangsan"},{"id2": 2,"name2": "lisi"},{"id3": 3,"name3":

2021-07-09 13:47:45 30 2

原创 Oozie使用总结

在HDFS上新建SQL文件及shell文件打开Hue打开文件浏览器新建目录/文件将SQL脚本贴上去保存修改文件属性新建work flow保存work flow第一次运行执行报错需要在shell脚本中加上!/bin/bashexport PYTHON_EGG_CACHE=.python-eggs...

2021-07-08 15:56:11 12

原创 flinkSql 写入 hive 问题

来源于flink社区问题描述咨询一个flink问题。flinsql,能写入数据到hive表。但是hive表中的数据,都是基于 ".part,,,,inprogress,,,,"类似的文件。flink1.12.0 是基于cdh6.2.0编译的,hive版本是2.1.1、hadoop-3.0.0. 问题截图如下:创建hive表:SET table.sql-dialect=hive;CREATE TABLE hive_table ( user_id STRING, order_amoun.

2021-07-07 21:32:02 69 1

原创 一个循环执行 给hive脚本传参最近一个月的shell脚本

#!/bin/bashif [ $# -ne 1 ];then echo "参数不正确" exit 1fidate_str=`date +"%Y-%m-%d"`fname=`basename $0`pdir=`cd -P $(dirname $0); pwd`ifile=$pdir/$fnamecd $pdirfor i in {1..30};do dt=`date -d "-${i} days" +"%Y%m%d"` fs=$1 #f

2021-07-07 11:19:36 20

原创 sqoop 导出数据到MySQL报错:Operation category READ is not supported in state standby

报错信息21/07/01 10:04:53 ERROR tool.ExportTool: Encountered IOException running export job: org.apache.hive.hcatalog.common.HCatException : 2001 : Error setting output information. Cause : org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.ipc.StandbyE

2021-07-01 10:12:11 27

原创 Excel 合并两列时间,中间用分隔符连接

效果如下图操作方法错误方法一开始输入=M2&"-"&N2总会将时间转换为小数点形式。正确使用办法:=TEXT(M2,"hh:mm")&"-"&TEXT(N2,"hh:mm")

2021-06-30 23:30:35 29

原创 Linux 打tar包排除某些目录

排除单个目录tar zcvf xxx.tar.gz --exclude=/xxx/xxx/xxx /xxx排除多个目录tar zcvf export_data.tar.gz \--exclude=export_data/order/ads_platform_order_sales_analysis \--exclude=export_data/miniconda3 \--exclude=export_data/eds_org_v2_employee_user_configuration/dt

2021-06-29 16:24:07 26

原创 hive 外部表操作注意事项

Impala 操作 hive 外部表直接TRUNCATE TABLE + 外部表Impala 可以 TRUNCATE TABLE + 外部表TRUNCATE TABLE 之后查询不到数据;TRUNCATE之后数据也没了,但是该目录还在。show partitions + 表名,分区还在。先drop partitions 外部表 再 TRUNCATE TABLE + 外部表ALTER TABLE ods.ods_hk_user_v2_channel_first_pay_order_tex

2021-06-26 10:00:23 32 2

原创 Linux Shell进入文件当前目录

如下:fname=`basename $0`pdir=`cd -P $(dirname $0); pwd`ifile=$pdir/$fnamecd $pdir

2021-06-25 17:02:52 29

原创 sqoop同步两个hive表到同一张mysql中的不同列

背景有一张mysql表a:表结构如下: 有7列col1 和 col2 是主键,col3~col7是普通列。col1col2col3col4col5col6col7prk1prk2v3v4v5v6v7col3~col5 来自于hive 表 b,col6~col7来自于hive表c。解决方案方案示意图#mermaid-svg-bs2QsNEfgltKLOc9 .label{font-family:'trebuchet ms', verdana, ar

2021-06-24 17:11:01 67

原创 python 飞书机器人 web hook 报警集成到Linux shell 脚本

python 脚本cat feishu_alert.pyimport requestsimport jsonfrom datetime import datetime as dtimport argparseimport sysdef send_msg(_url, _msg): """ :param _url: :param _msg: :return: """ headers = {'Content-Type': 'application

2021-06-23 10:41:15 83 1

原创 河南网上交新房契税打印带章完税证明教程

登录河南省电子税务局官网https://etax.henan.chinatax.gov.cn/web/dzswj/taxclient/login_index.html第一步,我要办税第二步,个性化办税第三步,证明开具第四步选择开具税收完税证明补打(表格式)第五步 查询第六步:选中对应的完税记录,选择补打 即可...

2021-06-23 10:16:52 204

原创 spark_user_behavior_demo

备注:此代码没有任何实际作用,仅作为初学者学习用package com.c.user_behaviorimport org.apache.spark.rdd.RDDimport org.apache.spark.{SparkConf, SparkContext}/** * 用户行为数据清洗 * 1、验证数据格式是否正确,切分后长度必须为17 * 2、手机号脱敏,格式为123xxxx4567 * 3、去掉username中带有的\n,否则导致写入HDFS时会换行 */ob.

2021-06-20 23:27:56 27 2

原创 CDH集群扩容加节点

文章目录先准备本地安装包新主机配置集群扩容步骤先准备本地安装包/var/www 目录下 文件列表如下# [cdh01 root 13:28:55] [六 6月 19] /var/www/html/cloudera-repos/cm6.3.1$ ll总用量 32-rw-r--r-- 1 root root 14041 6月 7 11:22 allkeys.ascdrwxrwxr-x 2 2001 2001 4096 9月 25 2019 repodata-rw-rw-r-- 1 200

2021-06-19 14:06:05 78

原创 parquet表增加一列后不能正常读取

问题描述parquet表,使用add column 增加一列后用Impala查询报错:Parquet表增列后hive查询正常,但是Impala查询不正常。解决办法在新加的这一列插入数据即可

2021-05-31 18:37:28 22

原创 sqoop导出hive表到mysql报错

hive表使用sqoop导入mysql报错,查询原因是分区字段出现了NULL,而分区字段又是mysql表中的主键。查看HDFS上出现一个date=__HIVE_DEFAULT_PARTITION__的分区,就是分区字段为NULL的那些数据记录使用hdfs命令,手动删除date=__HIVE_DEFAULT_PARTITION__的分区后再次执行sqoop脚本,发现出现另外一个错误:执行MSCK REPAIR TABLE命令:hive> MSCK REPAIR TABLE ads.ads_i

2021-05-31 11:33:43 52

原创 shell 命令行正则使用小记

我有一些shell脚本:shell脚本文件名打码$ ll总用量 44-rw-r--r-- 1 bigdata bigdata 17921 5月 26 20:40 ivs_co_funnel.java-rwxr--r-- 1 bigdata bigdata 412 5月 14 10:28 sqoop_---o_funnel.sh-rwxr--r-- 1 bigdata bigdata 411 5月 14 10:49 sqoop_h---cnt_once.sh-rwxr--r-- 1

2021-05-26 20:50:37 16

原创 Flink程序与数据流

在运行时,Flink上运行的程序会被映射成逻辑数据流(dataflows)。Flink中的执行图可以分成四层:SreamGraph是根据用户通过 Stream API 编写的代码生成的最初的图。用来表示程序的拓扑结构。JobGraphStreamGraph 经过优化后生成了 JobGraph,提交给 JobManager 的数据结构。主要的优化为,将多个符合条件的节点 chain 在一起作为一个节点,这样可以减少数据在节点之间流动所需要的序列化/反序列化/传输消耗。ExecutionGraph

2021-05-21 09:56:32 16

原创 Hive SQL 计算指定日期本周的第一天和最后一天

select day ,dayofweek(day) as dw1 ,date_add(day,1 - dayofweek(day)) as Su_s -- 周日_start ,date_add(day,7 - dayofweek(day))

2021-05-20 17:59:25 129

原创 如何向expect脚本里面传递参数

比如下面脚本用来做ssh无密码登陆,自动输入确认yes和密码信息,用户名,密码,hostname通过参数来传递ssh.exp#!/usr/bin/expect set timeout 10 set username [lindex $argv 0] set password [lindex $argv 1] set hostname [lindex $argv 2] spawn ssh-copy-id -i .ssh/id_rsa.pub $username@$hostname

2021-05-20 11:24:57 106

原创 flink1.12.2 CLI连接hive出现异常

问题描述使用flink1.12.2 CLI连接hive时,可以查看到catalog,也能看到指定的catalog下的tables,但是执行select语句时就出现异常。[ERROR] Could not execute SQL statement. Reason:org.apache.hadoop.ipc.RemoteException: Application with id 'application_1605840182730_29292' doesn't exist in RM. Please

2021-05-07 20:09:08 82

原创 Impala-shell -f SQL脚本传参数

SQL脚本如下:insert overwrite dwd.dwd_sensors_share_event_p partition(`year`,`month`,`day`)select`date`,share_type,url,share_user_id,share_result,site_resource,is_employee,replace(regexp_extract(url,'p-\\w+',0),'p-','') as sku_id,replace(regexp_extract(url

2021-05-06 12:54:10 140

原创 ModuleNotFoundError: No module named ‘dateutil‘

python 程序报错:Traceback (most recent call last): File "common_auto_fetch_sensor.py", line 13, in <module> from dateutil.relativedelta import relativedeltaModuleNotFoundError: No module named 'dateutil'然后执行pip install也报错:$ pip install dateuti

2021-04-21 21:08:45 73

原创 Linux环境 tinyproxy安装配置及使用教程【超详细】

安装# centossudo yum install tinyproxy# ubuntusudo apt install tinyproxy配置vim /etc/tinyproxy/tinyproxy.conf需要修改的是:# 注释掉这一行# Allow 127.0.0.1# 修改端口号Port 8787Allow 是允许访问的主机IP,不写就是允许所有主机访问Port 是代理访问端口号启动/停止/查看状态/重启命令systemctl start tinyproxy

2021-04-21 19:40:28 615

原创 sqoop 导出 hive数据到mysql

脚本示例sqoop-export \-Dmapred.job.queue.name=bigdata \--connect jdbc:mysql://xxx:3306/stars \--username xxx \--password xxx \--table ivs_co_all_uv \--export-dir /user/hive/warehouse/xxx/* \--columns date,uv,pv \--update-mode allowinsert \--update-

2021-04-20 14:41:18 29

数据仓库数据分层结构

数据仓库是决策支持系统(dss)和联机分析应用数据源的结构化数据环境。数据仓库研究和解决从数据库中获取信息的问题。数据仓库的特征在于面向主题、集成性、稳定性和时变性。 数据仓库 ,由数据仓库之父比尔·恩门(Bill Inmon)于1990年提出,主要功能仍是将组织透过资讯系统之联机事务处理(OLTP)经年累月所累积的大量资料,透过数据仓库理论所特有的资料储存架构,作一有系统的分析整理,以利各种分析方法如联机分析处理(OLAP)、数据挖掘(Data Mining)之进行,并进而支持如决策支持系统(DSS)、主管资讯系统(EIS)之创建,帮助决策者能快速有效的自大量资料中,分析出有价值的资讯,以利决策拟定及快速回应外在环境变动,帮助建构商业智能(BI)。 数据仓库之父比尔·恩门(Bill Inmon)在1991年出版的“Building the Data Warehouse”(《建立数据仓库》)一书中所提出的定义被广泛接受——数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策(Decision Making Support)。

2019-03-02

基于Flink SQL构建实时数仓.pdf

OPPO 作为手机厂商,基于 Android 定制了自己的 ColorOS 系统,当前日活跃用户超过 2 亿。围绕 ColorOS,OPPO 构建了很多互联网应用,比如应用商店、浏览器、信息流等。在运营这些互联网应用的过程中,OPPO 积累了大量的数据,上图右边是整体数据规模的演进:从 2012 年开始每年都是 2~3 倍的增长速度,截至目前总数据量已经超过 100PB,日增数据量超过 200TB。 要支撑这么大的一个数据量,OPPO 研发出一整套的数据系统与服务,并逐渐形成了自己的数据中台体系。

2019-05-16

十大数据分析模型详解_白皮书.pdf

基于多维事件模型,会形成一些常见的数据分析方法,在用户行为分析领域,对这些数分析方法的科学婴童进行理论指导,能够相对的完整的解释用户行为的内在规律,基于此帮助企业实现多维的交叉分析,让企业建立快速反应,适应变化的敏捷商业智能决策。

2020-06-24

hadoop-2.7.2.zip

http://archive.apache.org/dist/hadoop/core/hadoop-2.7.2/ 从官网上直接下载的,下载比较慢。所以这里分享一下 所需积分我设置的是0,如果CSDN官方不修改我设置的积分,也就是说免费下载的

2020-09-16

pentaho-aggdesigner-algorithm-5.1.5-jhyde.jar

pentaho-aggdesigner-algorithm-5.1.5-jhyde.jar jar包,官网下载的 手动编译Atlas的时候用到的

2020-08-19

Apache Flink结合Apache Kafka实现端到端的一致性语义.pdf

流计算中的一致性语义定义,以及通常系统怎么支持一致性语义,Flink+Fafka如何实现端到端的一致性语义。Flink会定期地产生checkpoint并且把这些checkpoint写入到一个持久化存储上,比如S3或HDFS。这个写入过程是异步的,这就意味着Flink即使在checkpointing过程中也是不断处理输入数据的。

2019-05-16

sqoop-1.4.6.2.3.99.0-195.jar..zip

编译Atlas用 sqoop-1.4.6.2.3.99.0-195.jar 内含安装jar包以及maven手动安装命令 详情可参考我的博客: https://blog.csdn.net/qq_26502245/article/details/108008070

2020-08-14

javax.jms-1.1.jar.7z

内含javax.jms-1.1.jar 安装包下载以及Maven手动安装命令 Maven官方仓库下载不下来资源,只能手动安装 <!-- https://mvnrepository.com/artifact/javax.jms/jms --> <dependency> <groupId>javax.jms</groupId> <artifactId>jms</artifactId> <version>1.1</version> </dependency>

2020-08-14

Hadoop权威指南(中文版)

Hadoop编程书籍,由浅入深,介绍Hadoop编程,特别适合初学者以及企业开发人员以及大学生以及其他深造学习者

2019-03-02

HDFS智能异构存储方案.pdf

HDFS异构存储,该方案能够智能的区分冷热数据,并按照配置的磁盘模式自动转移数据,做到冷热数据异构智能存储

2019-05-16

mongodb-win32-x86_64-enterprise-windows-64-4.2.1-signed.msi

mongodb-win32-x86_64-enterprise-windows-64-4.2.1-signed.msi mongodb windows 版本,官网下载的

2020-06-05

Scala编程核心教程(电子版)

学习Scala的全部资料,从最基本的数据结构,到最后高阶函数

2019-03-09

HBase权威指南

HBase还可以利用Zookeeper确保只有一个主服务在运行(HBaseMaster),存储用于发现region的引导位置,作为一个region服务器的注册表,以及实现其他目的。Zookeeper是一个关键组成部分,没有它HBase就无法运作。Zookeeper使用分布式的一系列服务器和Zap协议(确保其状态保存一致)减轻了应用上的负担。         master服务器负责跨region服务器的全局region的负载均衡,将繁忙的服务器中的region移动到负载较轻的服务器中。主服务器(HBaseMaster)不是实际数据存储或者检索路径的组成部分,它仅提供了负载均衡和集群管理,不为region服务器或者客户端提供任何的数据服务,因此是轻量级服务器。此外,主服务器还提供了元数据的管理操作,例如,建表和创建列族(column family)。         region服务器负责为它们的服务的region提供读和写请求,也提供了拆分超过配置大小的region的接口。客户端则直接与region服务器通信,处理所有数据相关的操作。   "数十亿行 X 数百万列 X 数千个版本 = TB级 或 PB级的存储"

2019-03-02

空空如也

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

TA关注的人 TA的粉丝

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