
数据库
文章平均质量分 52
小白白白又白cdllp
数据挖掘,数据分析,数据市场
展开
-
单门户上集成多种数据库查询入口
在一家公司,我们通常会有多种数据库,每种数据库因为其特性承担不同的角色,比如mysql这种轻量级数据库,很适合存储元数据,hive适合用于分布式存储,clickhouse可以做极快速的大数据查询。如果我们同时有k8s集群,又有多种数据库,来回切换操作也是很麻烦的事情,如果能在一个入口对接所有的数据库,同时链接到k8s集群,就省心很多。原创 2024-06-24 21:51:24 · 473 阅读 · 0 评论 -
k8s部署hadoop
配置和模板参考helm仓库:https://artifacthub.io/packages/helm/apache-hadoop-helm/hadoop。原创 2024-03-15 21:52:28 · 1304 阅读 · 0 评论 -
helm部署hadoop
比如我现在只有1个datanode,我想改成3个datanode,复制粘贴配置信息到values.yaml(没有就自己创建),更改datanode的replicas为3,先卸载,再重新执行install命令。如果需要修改配置,在官方仓库中,点击default values按钮,可以获取默认的配置,将配置信息粘贴到values.yaml,通过helm uninstall卸载后,再通过命令。可以根据新配置重新部署。原创 2024-03-15 21:40:34 · 847 阅读 · 3 评论 -
influxdb2使用
influxdb2是不支持sql的,在web界面可以看到具体的使用命令,比如写入数据,可以直接用influx write命令来写,下面我们尝试把一个csv文件写入数据库,再查询。在页面上,data-bucket-submit可以查看,但是看不太懂那个图,再用官方示例数据试试。先在k8sdashboard找到influx的pod,点击执行,即可进入命令行界面。influxdb2首次使用时,通过k8s部署的,所以进入pod内部执行命令。除了命令行,直接通过ip+端口的形式也是可以访问web界面的。原创 2024-03-14 18:06:26 · 884 阅读 · 0 评论 -
k8s部署InfluxDB
pv和pvc都创建成功,但dp显示no such file or directory,说明读取不到主机路径,修改了rancher的配置,加入了/home目录,就可以了。主机看到的和实际pv挂载的路径不一致,实际默认根目录是/data.根据配置文件创建configmap。原创 2024-03-13 23:36:32 · 891 阅读 · 0 评论 -
datax错误记录:1. 找不到插件[streamwriter,clickhouse];2.有总bps限速条件下,单个channel的bps值不能为空,也不能为非正数
datax使用clickhouse导出数据时配置json的官方文档:https://github.com/alibaba/DataX/blob/master/clickhousereader/doc/clickhousereader.md。这个问题我用的是偷懒的方法,直接把json配置中的speed下面的byte参数删掉了,只保留了channel,问题解决,也有更复杂的办法,修改datax的配置的,我没有去动datax的配置,网上也能搜到,这里不赘述了,原创 2024-03-12 20:35:49 · 460 阅读 · 0 评论 -
python调用clickhouse并把结果存储为csv
【代码】python调用clickhouse并把结果存储为csv。原创 2024-03-12 15:31:48 · 351 阅读 · 0 评论 -
python调用clickhouse
使用clickhouse-driver包,先通过pip install clickhouse-driver安装包,再通过以下代码执行sql。原创 2024-03-12 11:30:47 · 708 阅读 · 0 评论 -
mysql建表不小心用了关键字做列名怎么办
(作者:陈玓玏)用了好一段时间hive,spark,用个mysql可把我难坏了。。。。mysql的建表语句里,一般列名可以不用加引号,直接采用以下形式即可:create table tablename (col1 int(11) not null default 0 comment "第一列" ,col2 int(11) not null default 0 comment "第二列"...原创 2019-12-01 22:00:19 · 1393 阅读 · 0 评论 -
Spark连接MySQL数据库并读取数据
(作者:陈玓玏)打开pyspark,带驱动的那种用命令行启动pyspark时需要加上jdbc的驱动路径:pyspark --driver-class-path D:/Users/chendile/Downloads/mysql-connector-java-3.1.14.jar在Linux和Windows命令行下都可以用这种方法,但是如果出现以下错误:py4j.protocol.Py4...原创 2018-11-24 22:08:48 · 6549 阅读 · 0 评论 -
Oracle存储过程实现通过动态参数复制表
(作者:陈玓玏)上一篇记录的是通过自定义函数复制表的笔记,但是觉得过程还是有些麻烦。觉得还是用存储过程更简洁些,今天就把存储过程的写法整理出来了。下面代码用的时候记得把相应位置变量替换成你自己的。--使用存储过程复制表,使用存储过程来复制表比使用自定义函数更简单,因为自定义函数返回多行结果需要用游标,但带游标的查询语句不能用于create as。create or replace proce...原创 2018-09-27 22:02:51 · 1599 阅读 · 0 评论 -
Oracle自定义函数实现动态参数复制表(使用了自定义type以及pipelined)
(作者:陈玓玏)之前试了一下,想用自定义函数及游标实现动态传入参数,确实可以,但是输出结果总是不能成表格。查了一圈,Oracle自定义函数好像是不能直接在SQL语句中写create as select和insert into这些功能的,但是后来的版本中提供了一个叫pipelined 的功能,但是需要自定义类。下面把我跑通了的过程写出来。 --返回多行值且是表格的形式,但是在执行时需要用...原创 2018-09-27 21:46:56 · 2037 阅读 · 0 评论 -
Oracle使用自定义函数动态查询(使用游标)
(作者:陈玓玏)SQL的自定义函数允许我们在执行SQL程序时动态地传入一些参数,把一些字段名、表名、限制条件等变为变量,既能提高一些场景下的编码效率,也能提高一些执行效率。除了自定义函数,动态SQL语句、存储过程也能实现同样的功能,不过这里我们先只看自定义函数。一、输出结果为单个值--返回单个值:--创建函数:--格式:CREATE OR REPLACE FUNCTION 函数名(输入参...原创 2018-09-25 22:13:09 · 5530 阅读 · 0 评论 -
Oracle创建自定义函数时出现错误:PLS-00103及PLS-00382
(作者:陈玓玏)一、PLS-00103一般出现这个错误,基本上可以确定是你的语法错误,或者是有中文的输入。比如说:1、Oracle用elsif而你用的是else if;2、直接从网页中把代码粘贴过来结果代码中有中文空格。这种情况下,解决问题的方法很简单:先在提示的错误上点击右键,转到源。查看问题在什么位置,然后检查是否关键字用错了,把所有空格或符号删掉重新用英文格式输一遍。二、PLS...原创 2018-09-19 14:44:02 · 13733 阅读 · 0 评论 -
Oracle视图中的错误ORA-04063及ORA-04063
(作者:陈玓玏)一、错误ORA-01731: circular view definition encountered这个错误发生的情况是这样的:我希望每次都拿同一个view去逐个left join一系列的view,每次join完之后把这个view更新为join后的结果,类似序列和那样的,num=num+1,我也是写的:select a.*,b.* from viewA a l...原创 2018-07-09 22:45:15 · 51004 阅读 · 0 评论 -
Oracle怎么判断表是否存在并drop?另有ORA-06550错误
(作者:陈玓玏)一、实现Oracle中判断表是否存在再drop通常在更新一个表时,全表更新不如直接删除表格再重建来得简单。但是drop table table_name if exists这样的写法只在MySQL里能用,在Oracle中会报错。那么Oracle中怎么实现呢?用匿名存储过程。也就是,没有create or replace procedure pro_name这句话...原创 2018-07-09 23:17:38 · 8004 阅读 · 0 评论 -
Oracle中视图的使用及ORA-00998错误
(作者:陈玓玏)一、视图的概念及优缺点视图是从一个或多个表导出的虚拟的表,其内容由查询定义。其具有普通表的结构,但是不实现数据存储。其实视图的功能和select语句是一样的,只是避免了重复写较复杂、使用频率较高的子查询。视图的优点有:1、避免大量重复代码的出现;2、避免大量占用空间的临时表的出现;3、实现简单;4、数据的相对安全性,对于部分用户,只开放可供查询的数据,并限制其修改和...原创 2018-07-07 09:52:49 · 15587 阅读 · 0 评论 -
Oracle计算距离当前时间几天、几年、几个月的方法
(作者:陈玓玏)在建模造变量的过程中,经常需要进行时间判断,比如取近三个月的某基础数据的统计特征,此时就需要用Oracle来进行取数,但是SQL的时间格式个人认为处理起来是非常麻烦的,下面就看一下如何取吧。本文主要涉及两个功能:1、获得距离当前时间三天、三个月、三年的时间,方便进行时间大小的比较;2、获取时间距离当前时间有多少天、多少个月、多少年。一、获得距离当前时间三个月、三年的...原创 2018-07-07 15:58:39 · 17919 阅读 · 0 评论 -
Oracle获取某列的数据类型及某表的所有列名
(作者:陈玓玏)在使用数据库的时候,经常会出现用create as select、insert into select这些语句来复制表的操作,但是这些操作做来做去常常把数据类型给做丢,导致最后复制出来的表大多都变成了varchar2这类的字符串型,导致在对字段使用函数时常常报错,比如对一个显示为数字但实际为字符串类型的字段做除法,会报需要一个数字但获得一个字符串这类的错。那么我有时候为了代...原创 2018-07-07 16:23:44 · 4126 阅读 · 0 评论 -
Oracle中复制表的方法(create as select、insert into select、select into)
(作者:陈玓玏)在使用SQL的过程中,常常需要复制表,或者通过建立临时表来存储select语句生成的结果,这个在建模过程中造变量的时候用得尤其多。1、用create as select drop table tablename; create table tablename as select * from tab1;Oracle中删除表格不能先用if exists做判断,...原创 2018-07-30 22:10:37 · 21237 阅读 · 1 评论 -
Oracle中获取时间的年和月并比较大小
(作者:陈玓玏)在Oracle中,我觉得最让人头疼的就是操作Date型的数据了,比如取年月日、计算几天前、几年前、几个月前什么的。但是这个又用得很多,因为不管你做什么内容的挖掘,总是离不开时间窗口的,因为数据大多是以人为本的,而人又是善变的,所以时间是你必须非常看重的。1、Oracle中分别取年、月、日的方法--取年份Select to_number(to_char(sysdate,...原创 2018-07-30 22:27:30 · 15760 阅读 · 0 评论 -
Oracle中的排序方法:row_number、rank、dense_rank、oder by
(作者:陈玓玏)排序是非常常见的数据处理需求,Oracle中也有很多排序的方法,下面一起看看吧。1、row_number实现分组排序后按序号取值select * from ( SELECT ROW_NUMBER() over(partition by user_id order by calltime de...原创 2018-07-31 22:12:55 · 2272 阅读 · 0 评论 -
利用Python和Oracle进行变量分析(求解覆盖率、类别数、分位数等)
(作者:陈玓玏)在建模过程中,如果你要选择一个变量进入模型,必然需要确保这个变量是可用的。那怎么样算可用呢?单从变量的角度来说,覆盖率不能过低,也就是缺失值不能过多;变量的分布范围合理,也就是说不会有过多异常值。那么这些功能用Python和Oracle都是很容易实现的,下面看代码吧。1、Python求解覆盖率如果直接用isnull函数做判断,那么会得到一个和Series等长的布尔型...原创 2018-08-02 21:05:15 · 906 阅读 · 0 评论 -
pandas和Oracle中空值的比较及逻辑运算,数值型及时间型数据
(作者:陈玓玏)下面代码所使用的原数据及读取数据的代码如下:#取数代码arr = pd.read_excel('C:/Users/cdl/Desktop/空值test_1.xlsx',encoding='gbk')arr['strTest_1'] = arr['strTest'].apply(lambda x:str(x))print(arr)print(arr.dtypes)...原创 2018-08-21 21:33:09 · 1625 阅读 · 0 评论 -
Oracle使用Union合并两个表的同一列及可能出现的问题,以及产生的ORA-01789、ORA-12704错误
(原创作者:陈玓玏)一、问题描述有时候可能因为一些特殊的原因,比如说数据表结构设计的改变,导致新的数据会存储在一张新开的表里。这样就会在取数时产生一些问题,比如:你需要计算所有客户在2017年1月到2018年1月这段时间内,优惠券核销的时间是什么样的分布情况,但是2017.01~2017.07这段时间存放在表1,字段是use_time,而2017.08~2018.01这段时间的数据存放...原创 2018-07-02 22:17:13 · 3846 阅读 · 0 评论