之前遇到过的坑,通过beeline连接spark thirft server,当在Hive进行表结构修改,如replace/add/change columns后,表结构没有变化,还是旧的表结构,导致无法验证数据. 操作步骤如下: -- 1.create table -- hive/beeline execute create table test_table(id int); -- 2.check metadata in beeline desc test_table; -- 3. add c…
背景   我们使用的HiveServer2的版本为0.13.1-cdh5.3.2,目前的任务使用Hive SQL构建,分为两种类型:手动任务(临时分析需求).调度任务(常规分析需求),两者均通过我们的Web系统进行提交.以前两种类型的任务都被提交至Yarn中一个名称为“hive”的队列,为了避免两种类型的任务之间相互受影响以及并行任务数过多导致“hive”队列资源紧张,我们在调度系统中构建了一个任务缓冲区队列,所有被提交的任务(手动任务.调度任务)并不会直接被提交至集群,而是提交至这个缓冲区队列…
经常有人问的一个问题就是:Kafka broker到底是不是无状态的?网上有这样的说法: 正常情况下consumer会在消费完一条消息后线性增加这个offset.当然,consumer也可将offset设成一个较小的值,重新消费一些消息.因为offet由consumer控制,所以Kafka broker是无状态的...... 我猜想作者的意思应该是说:broker不保存消费者的状态.如果从这个角度来说,broker无状态的说法倒也没有什么问题.不过实际上,broker是有状态的服务:每台brok…
Spring-利用InitializingBean接口和zookeeper实现项目初始化缓存以及同步监听 1.先贴出几个需要用到的工具类 ZkClientUtils import com.ithzk.common.PropertiesUtil; import org.apache.curator.framework.CuratorFramework; import org.apache.curator.framework.CuratorFrameworkFactory; import org.a…
spark 2.1.1 beeline连接spark thrift之后,执行use database有时会卡住,而use database 在server端对应的是 setCurrentDatabase, 经过排查发现当时spark thrift正在执行insert操作, org.apache.spark.sql.hive.execution.InsertIntoHiveTable protected override def doExecute(): RDD[InternalRow] = {…
好好学习,天天向上 本文已收录至我的Github仓库DayDayUP:github.com/RobodLee/DayDayUP,欢迎Star,更多文章请前往:目录导航 畅购商城(一):环境搭建 畅购商城(二):分布式文件系统FastDFS 畅购商城(三):商品管理 畅购商城(五):Elasticsearch实现商品搜索 畅购商城(六):商品搜索 首页广告介绍 流程 在商城的首页,我们会看到很多广告,而很多时候这些广告内容都是固定的,所以每次访问MySQL获取广告内容效率是非常低的,比较好的做法就…
采用beeline连接hive server是遭遇到如下错误: 5: jdbc:hive2://bluejoe0/default> select * from hive_triples where subject='<http://semweb.csdb.cn/flux/resource/attribute/2348>' limit 1; Error: Error while processing statement: FAILED: Execution Error, return co…
今天试验了如何在Kettle的图形界面(Spoon)下面来整合来mysql 数据库中位于不同数据库中的数据表中的数据. 试验用的数据表是customers: 第三方的数据集下载地址是:http://www.mysqltutorial.org/download/2 Customers: stores customer’s data. 折叠处有对数据表customer结构的sql表示: DROP TABLE IF EXISTS `customers`; CREATE TABLE `customers…
可能是配置的问题. 我将hive.metastore.uris从配置文件中注释掉之后解决了hiveserver2启动成功但无法通过beeline连接的问题. [root@node03 conf]# vi hive-site.xml <property> <name>hive.metastore.warehouse.dir</name> <value>/user/hive_remote/warehouse</value> </property…
hive2.3.4 presto0.215 使用hive2.3.4的beeline连接presto报错 $ beeline -d com.facebook.presto.jdbc.PrestoDriver -u "jdbc:presto://localhost:8080/hive" Error: Unrecognized connection property 'url' (state=,code=0) 增加--verbose查看详细报错 $ beeline -d com.facebo…
beeline连接hiveserver2报错 Error: Could not open client transport with JDBC Uri: jdbc:hive2://localhost:10000: Failed to open new session: java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.Authorizatio…
一.beeline连接hive报错 1. User: root is not allowed to impersonate root (state=08S01,code=0) 在初次搭建完hadoop和hive后,没有设置登录验证的情况下,直接使用beeline命令连接远程的hive数据库,连接命令如下: beeline -u jdbc:hive2://hserver1:10000 -n root 可能会报出如下错误: Connecting to jdbc:hive2://hserver1:10…
优化目标减少 IO 次数IO永远是数据库最容易瓶颈的地方,这是由数据库的职责所决定的,大部分数据库操作中超过90%的时间都是 IO 操作所占用的,减少 IO 次数是 SQL 优化中需要第一优先考虑,当然,也是收效最明显的优化手段.降低 CPU 计算除了 IO 瓶颈之外,SQL优化中需要考虑的就是 CPU 运算量的优化了.order by, group by,distinct … 都是消耗 CPU 的大户(这些操作基本上都是 CPU 处理内存中的数据比较运算).当我们的 IO 优化做到一定阶段之后…
一,缓存 数据库属于 IO 密集型的应用程序,其主要职责就是数据的管理及存储工作.而我们知道,从内存中读取一个数据库的时间是微秒级别,而从一块普通硬盘上读取一个IO是在毫秒级别,二者相差3个数量级.所以,要优化数据库,首先第一步需要优化的就是 IO,尽可能将磁盘IO转化为内存IO. query_cache_size/query_cache_type (global) Query cache 作用于整个 MySQL Instance,主要用来缓存 MySQL 中的 ResultSet,也就是一条S…
一,缓存 数据库属于 IO 密集型的应用程序,其主要职责就是数据的管理及存储工作.而我们知道,从内存中读取一个数据库的时间是微秒级别,而从一块普通硬盘上读取一个IO是在毫秒级别,二者相差3个数量级.所以,要优化数据库,首先第一步需要优化的就是 IO,尽可能将磁盘IO转化为内存IO. query_cache_size/query_cache_type (global) Query cache 作用于整个 MySQL Instance,主要用来缓存 MySQL 中的 ResultSet,也就是一条S…
通过SecureCRT工具连上linux后,通过beeline连接上hive后,在输错hive语句时,无论 Backspace还是delete 都删除不掉错误的语句,没有办法退格. 解决方案: 第一步:SecureCRT菜单选项栏中"选项(O)"->"会话选项(S)...",点击打开: 第二步:在“会话窗口”中,修改找到“终端”>“仿真”,修改 终端(T) 为 Linux…
接着第四课的内容,主要讲LFU.表达式计算和跳表 第一题 上一题实现了LRU缓存算法,LFU也是一个著名的缓存算法 自行了解之后实现LFU中的set 和 get 要求:两个方法的时间复杂度都为O(1) LFU根据get.set操作次数决定的优先级. 同样次数,最不经常访问的先出去. 实现思路:建立一个次数链,每个次数再链接上一个双向链.(两个双链表) Put和Get的时候,先检查是否存在 如果没有,put就存在1的链表下,get就返回null. 如果有,找到属于哪个头,然后分离出来,查看头部的下…
原文:windows 系统本地做mysql 主从同步,最后面解决主从同步库名不一致,表结构一致 mysql主从同步的好处以及原理       之前看到很多新闻说某某的服务器奔溃,磁盘碎了,导致数据丢失.看到这里我们系统的服务器是不是也存在问题,如果数据一旦丢失,损失得有多大,就想到了 先做一个镜像吧,系统正在使用的叫做主库,再在另一个服务器上开一个库,配置成从库,这样,主库有变动从库会跟着变动,做到了事时实更新. 原理        主从同步使得数据可以从一个数据库服务器复制到其他服务器上,在复…
场景 canal 同步Mysql一段时间后突然失败,报如如下错误: 2021-08-06 16:16:51.732 [MultiStageCoprocessor-Parser-Twt_instance-5] WARN c.a.o.canal.parse.inbound.mysql.dbsync.LogEventConvert - table parser error : header { version: 1 logfileName: "mysql3306-bin.001715" lo…
开发服务器的数据库表结构进行了修改,或者修改过多,为了与线上的数据库结构同步,可以使用mysqldiff工具对线上数据库打补丁. mysqldiff Windows下载地址:http://dev.mysql.com/doc/index-utils-fabric.html, linux安装自行包管理器脑补. 相关语法示例 #直接全量对比并产生SQL文件 mysqldiff --difftype=sql --show-reverse --server1=root:pwd@mysql_server_a…
mysql对比表结构对比同步,sqlyog架构同步工具 对比后的结果示例: 执行后的结果示例: 点击:"另存为(S)" 按钮可以把更新sql导出来.…
连接和断开连接mysql -h host -u user -p (即,连接的主机.用户名和使用的密码).断开输入QUIT (或\q)随时退出: 表管理克隆表注意:create table ... like 语句不克隆表的外键定义,不克隆原表可能使用的data directory 和index directory. 和auto_increment --创建一张和现有的某张表结构一致的表.create table new_table like original_table --把某张的数据插入到克隆…
mysql-schema-sync 是一款使用go开发的.跨平台的.绿色无依赖的 MySQL 表结构自动同步工具.用于将线上(其他环境)数据库结构变化同步到测试(本地)环境! 可以解决多人开发,每人都使用独立数据库导致结构不一样的问题! 支持功能:1.  同步新表2.  同步字段 变动:新增.修改3.  同步索引 变动:新增.修改4.  同步字段.索引 屏蔽变动更新5.  支持预览(只对比不同步变动)6.  邮件通知变动结果 配置 参考 默认配置文件  config.json 配置同步源.目的地…
powerdesigner 详细很多人都用过,很多人可能也有用来连接各种数据库以及从数据库中把表结构更新到powerdesigner的model中,或者将自己设计的表结构应用到数据库中.那么我今天就说是如果连接oracle,以及把oracle的表结构导入到powerdesigner中进行设计. 应用环境: Windows 10 64位: oracle 11g: powerdesigner 15.1: 如果没有安装odbc驱动,直接选择Microsoft自带的oracle odbc 进行连接通常会…
一.外键: 1.什么是外键 2.外键语法 3.外键的条件 4.添加外键 5.删除外键 1.什么是外键: 主键:是唯一标识一条记录,不能有重复的,不允许为空,用来保证数据完整性. 外键:是另一表的唯一性字段, 外键可以有重复的, 可以是空值,用来和其他表建立联系用的.所以说,如果谈到了外键,一定是至少涉及到两张表.例如下面这两张表: 上面有两张表:部门表(dept).员工表(emp).Id=Dept_id,而Dept_id就是员工表中的外键:因为员工表中的员工需要知道自己属于哪个部门,就可以通过外…
为mysql数据库单独的表赋权限 场景:考勤系统需要拿OA数据库td_oa中的flow_run和flow_run_data表中的数据做考勤计算 考勤系统只需要读取这两张表的数据,所以只需要开通一个单独的用户,授予这个用户对这两张表的读取权限即可(最小权限原则可以保证系统最大的安全) 用mysql的图形化管理工具 Navicat Premium 可以很轻松的做到(里面也集成了oracle和sql server的管理) 1.添加单独访问数据库用户 2.对指定表赋权 3.勾选服务器权限选项卡中的sho…
  nf_conntrack: table full, dropping packet  连接跟踪表已满,开始丢包 的解决办法 中午业务说机器不能登录,我通过USM管理界面登录单板的时候发现机器没有僵死,然后一看日志,g一下子就明白了 tail -2000 /var/log/messages Apr 10 12:48:35 bj-push-pushserver83 kernel: [95129.138804] __ratelimit: 16523 callbacks suppressed (“连…
一.增加远程连接用户 1.用root权限登录数据库  2.加用户:grant all privileges on *.* to '111'@'192.168.1.%' identified by '222' with grant option; 其中111为账户,222为:密码    允许的远程IP段位:192.168.1.*  3.删除远程连接用户:drop user '111'@192.168.1.%';   或  drop  user 111@192.168.1.1; 二.查看数据表结构…
本文篇幅较短,内容源于自己在使用SparkSQL时碰到的一个小问题,因为在之后的数据处理过程中多次使用,所以为了加深印象,在此单独成文,以便回顾. 场景 在使用SparkSQL进行数据处理时,碰到这样一种情况:需要更改DataFrame当中某个字段的类型.简而言之,就是需要更改SparkSQL的表结构.出于学习的目的,做了一个简单的Demo.下面来看看这个实例. Example ...... ...... 此处省略相关jar包的引入 首先使用sparkSQL的jsonFile加载HDFS上的一个…
Sqoop将MySQL表结构同步到hive sqoop create-hive-table --connect jdbc:mysql://localhost:3306/sqooptest --username root --password 123qwe --table sqoop_job --hive-table sqoop_job --fields-terminated-by , orc格式的 sqoop import --connect jdbc:mysql://localhost:330…