数据开发
文章平均质量分 54
数据库使用、数据爬虫、挖掘分析
Cicada128
这个作者很懒,什么都没留下…
展开
-
从零开始构建自己的投资辅助系统
从零开始构建自己的投资辅助系统背景原本的想法是利用业余时间做些副业多攒点钱,买房娶媳妇儿,但思来想去,做过很多副业的考察和了解,发现要么是自己性格不太合适,要么是需要投入大量的精力和体力,但回报很少,且对于个人长期发展毫无裨益,因而最终放弃了业余时间做副业的想法。同时,考虑到后期随着个人资金的积累,必定是要接触股票基金之类的投资,以寻求个人财富的持续保值和增值,与其等到有钱再去学,不如趁着现在钱少练练手,因此决定好好钻研钻研股票和基金等资产投资。在翻过几本理财类书籍,了解了一些基本常识和常用投资逻辑后,原创 2021-11-07 22:11:46 · 972 阅读 · 0 评论 -
能源数据分析
能源数据分析获取能源数据数据来源于理杏仁付费数据,仅作研究,请勿商用import loggingimport requestsimport mathlogging.basicConfig(level=logging.INFO)token = "****"url = "https://open.lixinger.com/api/macro/energy"granularity = ['y', 'm']expression_calculate_type = ['t']metrics原创 2021-10-31 00:12:32 · 954 阅读 · 0 评论 -
全球时区概念
时区全球以经度划分,每15度为1个时区,共划分为24个时区,相邻时区间隔1小时。其中,零时区为格林尼治时间,又称为中部时区,东加西减,如北京时间为东八区。UTCUTC是协调世界时(Universal Time Coordinated),它是各个世界时区的参照,我们可以通过对UTC的偏移量来表示自己所在的时区,如北京时间就是UTC+8,美国洛杉矶就是UTC-8。注:UTC只是一种时区标准,本身并不能作为时区定义。常用GMT(Greenwich Mean Time) 格林尼治标准时间,严谨地来.原创 2021-10-30 16:26:39 · 5306 阅读 · 0 评论 -
Python获取全国区划代码名称及中心经纬度
Python获取全国区划代码名称及中心经纬度代码import requestsfrom bs4 import BeautifulSoup as BS# 百度API密钥,免费额度6000次,全国区划3000+足够用ak = "****"# 根据区划名称获取经纬度信息def get_location_by_region_name(region_name): url = f"https://api.map.baidu.com/geocoding/v3/?address={region原创 2021-08-24 23:40:05 · 891 阅读 · 0 评论 -
Superset进行基金股票市场分析
Superset进行基金股票市场分析Superset安装参考:https://blog.csdn.net/weixin_42078760/article/details/119768334基金股票数据获取可以使用akshare第三方库进行获取数据表all_funds_info 全部基金基础信息all_stocks_in_fund 全部基金持仓信息all_stocks_name_code 基金股票代码对应关系hot_stocks 微博热门股票sh_stocks_info 沪市股票信息sh原创 2021-08-23 22:52:16 · 389 阅读 · 0 评论 -
Superset安装使用
Superset安装使用安装安装apache-supersetpip install apache-superset更新数据库superset db upgrade创建admin用户export FLASK_APP=supersetflask fab create-admin下载样例数据superset load_examples初始化环境superset init启动Supersetsuperset run -h 0.0.0.0 -p 5000添加自定义数据库原创 2021-08-17 23:05:08 · 686 阅读 · 0 评论 -
Python获取全部场外基金/ETF/QDII/REITS代码信息
# 保存基金信息至本地def save_funds(): all_funds = target_util._get_all_funds() with open("fund.csv", 'a+') as f: f.write("基金代码,基金名称,市场,分类,类型\n") for fund in all_funds: f.write("{fund[id]},{fund[name]},{fund[category]},{fund[tag.原创 2021-08-07 11:32:07 · 842 阅读 · 0 评论 -
Python获取全部股票代码信息(A/B/H/美/英股)
# 保存股票信息至本地def save_stocks(): all_stocks = target_util._get_all_stocks() with open ("stock.csv",'a+') as f: f.write("股票代码,股票名称,市场,分类,类型\n") for stock in all_stocks: f.write("{stock[id]},{stock[name]},{stock[category]},.原创 2021-08-07 11:01:40 · 4424 阅读 · 1 评论 -
标准正态分布函数表
原创 2021-07-29 00:32:10 · 28904 阅读 · 0 评论 -
通过爬虫看看如何在掘金写出爆款文章
数据爬取前期分析通过浏览器Network分析出以下API:获取首页全部标签https://api.juejin.cn/tag_api/v1/query_category_briefs子级标签页全部标签https://api.juejin.cn/recommend_api/v1/tag/recommend_tag_list获取指定标签页文章列表https://api.juejin.cn/recommend_api/v1/article/recommend_cate_tag_fee原创 2021-07-25 11:32:43 · 368 阅读 · 1 评论 -
Scrapy爬取并分析CSDN热门文章标题
背景CSDN里有不少优秀的技术大佬,创作了很多的技术文章,获得了很多同行的浏览、关注和点赞,抛开个人技术方向,于我们而言,应该如何才能写出热款爆文呢,是写艰深难懂的深度分析,还是写小白能懂的入门文章,那些知识点和技术方向才是大家最关注的呢?期望通过分析CSDN热榜标题,分析出如何起出亮眼标题及文章内容热词。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q0yRvygg-1626881583750)(https://note.youdao.com/yws/res/9/W原创 2021-07-21 23:35:00 · 2984 阅读 · 3 评论 -
Hive中集成GIS方法
数据分析中,我们经常遇到经纬度相关的GIS处理,但Hive本身并不支持,我们可以通过自定义实现UDF函数的方法进行实现。源码下载https://github.com/Angryshark128/gisutilforhive.git类包下载链接:https://pan.baidu.com/s/19-bZz9ttX-RW6-7nNiBGPw提取码:ap99实现步骤代码实现打包上传注册测试代码实现核心代码实现在GisUtil.java中public class GisUtil {原创 2021-01-22 19:53:47 · 920 阅读 · 0 评论 -
Spark参数调优实践
参数设置方法Spark任务在提交时,可以通过以下几种方式进行参数设置:环境变量通过配置文件spark-env.sh添加,如export JAVA_HOME=/usr/local/jdkexport SCALA_HOME=/usr/local/scalaexport SPARK_MASTER_IP=127.0.0.1export SPARK_MASTER_WEBUI_PORT=8088export SPARK_WORKER_WEBUI_PORT=8099export SPARK_WORKER原创 2020-12-31 12:52:36 · 1330 阅读 · 0 评论 -
Spark累加器和广播变量
累加器累加器有些类似Redis的计数器,但要比计数器强大,不因可以用于计数,还可以用来累加求和、累加合并元素等。假设我们有一个word.txt文本,我们想要统计该文本中单词“sheep”的行数,我们可以直接读取文本filter过滤然后计数。sc.textFile("word.txt").filter(_.contains("sheep")).count()假设我们想分别统计文本中单词"sheep""wolf"的行数,如果按照上述方法需要计算两次sc.textFile("word.txt").fi原创 2020-12-30 21:02:57 · 211 阅读 · 0 评论 -
Spark项目打包优化实践
问题描述在使用Scala/Java进行Spark项目开发过程中,常涉及项目构建和打包上传,因项目依赖Spark基础相关类包一般较大,打包后若涉及远程开发调试,每次打包都消耗多很多时间,因此需对此过程进行优化。优化方案方案1:一次全量上传jar包,后续增量更新classPOM文件配置(Maven) <dependencies> <dependency> <groupId>org.apache.spark</groupId>原创 2020-12-28 21:52:54 · 520 阅读 · 0 评论 -
Spark学习-基本名词理解
分布式弹性数据集 RDD(Resilient Distribute DataSet)可以理解为Spark中用于数据处理的基本数据类型。详见:https://blog.csdn.net/weixin_42078760/article/details/107272921数据分区 PartitionRDD在集群中被切分为多个分区,每个分区单独进行计算。数据块 Block每个数据分片在底层存储中,都会以block形式存在。RDD、Parittion和Block的关系血统 Lineage可以理解为原创 2020-07-11 11:55:31 · 323 阅读 · 0 评论 -
Spark学习-一文了解RDD
什么是RDDRDD(Resilient Distributed Dataset)弹性分布式数据集,RDD从字面理解,分为三个层面:弹性、分布式、数据集。RDD是一种数据集,是Spark对于要处理的数据的抽象,就像Java等高级编程语言中的List、HashMap等集合;分布式是因为我们通常是以集群形式进行分布式计算,RDD中的数据并非存在一个节点,而是分布于集群各个节点,便于调用各个节点的算力;RDD的弹性,则涉及较多,如数据分片和调度的弹性、自动进行内存和磁盘数据存储切换的弹性等。一言以蔽之,R原创 2020-07-10 23:35:27 · 559 阅读 · 0 评论 -
Hadoop生态系统各组件功能
参考: Spark编程基础(Scala版) 林子雨 赖永炫 陶继平 人民邮电出版社出版 2018-07-011.HDFS 分布式文件系统Hadoop分布式文件系统HDFS是针对谷歌分布式文件系统(Google File System,GFS)的开源实现,它是Hadoop两大核心组成部分之一,提供了在廉价服务器集群中进行大规模分布式文件存储的能力。HDFS具有很好的容错能力,并且兼容廉价的硬件设备,因此,可以以较低的成本利用现有机器实现大流量和大数据量的读写。HDFS采用了主从(Master.原创 2020-06-26 16:57:35 · 12557 阅读 · 0 评论 -
Spark与MapReduce对比优势
表达能力MapReduce需要将所有计算转换为Map和Reduce,难以描述复杂处理过程;Spark除Map和Reduce外,还支持RDD/DataFrame/DataSet等多种数据模型操作,编程模型更加灵活。磁盘IOMapReduce每步运算都要从磁盘读取数据,结束后写入磁盘数据,仅有小部分数据作为临时缓存放入内存,磁盘IO开销比较大;Spark将中间结果直接放入内存,既提高了迭代运算效率,又避免了大量的重复计算,据官方提供数据,同样迭代运算效率Spark:Hadoop=110:0.9。任务原创 2020-06-26 16:42:04 · 2494 阅读 · 0 评论 -
常用PLSQL快捷键
1、类SQL PLUS窗口:File->New->Command Window,这个类似于oracle的客户端工具sql plus,但比它好用多了。 2、设置关键字自动大写:Tools->Preferences->Editor,将Keyword case选择Uppercase。这样在窗口中输入sql语句时,关键字会自动大写,而其它都是小写。这样阅读代码比较容易,且保...原创 2018-09-28 23:19:56 · 655 阅读 · 0 评论 -
Oracle提升查询效率的方法
选择最有效率的表名顺序 (只在基于规则的优化器中有效):ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其他表...原创 2018-09-28 23:00:52 · 397 阅读 · 0 评论 -
Oracle 中 COUNT(*) /COUNT(1)/COUNT(列名) 的区别
若查询表只有一个字段,则COUNT(*)最快;若查询表无主键,则COUNT(1)比COUNT(*)快;若查询表有主键,则COUNT(主键)比COUNT(*)快;COUNT(*)返回总行数,包含NULL值;COUNT(列名)返回总行数,不含NULL值;DISTINCT COUNT(*)返回总行数,去除重复且不含NULL值。...原创 2018-09-09 12:24:21 · 3232 阅读 · 0 评论 -
Oracle 9i中数据保护模式
最大保护(Maximum protection )这种模式能够保证在primary Database发生故障保证数据不丢失。在这种模式下,事务提交前,要保证Redo数据已经写入到Primary Database的Online Redologs,同时写入Standby Database的Standby Redologs,并确保至少在一个Standby Database中可用。如果Standby Da...原创 2018-07-11 14:03:54 · 293 阅读 · 0 评论 -
Oracle使用多核并行提高存过效率
问题场景因为电信业务面向全国,经常要在oracle中定时处理全国30多个省份的数据,量级虽然不算太大只有几百万的基站或小区相关位置数据,但由于涉及到大量的空间拓扑分析,单条数据处理都在秒级,如果一次性处理的话,不仅速度难以忍受,而且可能会因为存过运行时间过长而运行失败。优化思路由于数据模型已经约定,不可擅改,故只能通过以下思路进行优化:1. 索引优化分析存过每条语句,尽可能使用索引,对于...原创 2020-03-30 19:51:34 · 1547 阅读 · 0 评论 -
Oracle影响查询效率的因素
硬件索引碎片SQL逻辑扩展分区数据库负载硬件CPU速度、内存大小、磁盘读写速度、网络传输速度索引是否走索引,索引是否合理碎片表碎片和索引碎片,可能导致使用错误的执行计划SQL逻辑SQL本身逻辑有问题,执行效率低扩展分区表和索引初始化参数配置不同,导致扩展分区大小不一,影响查询速度数据库负载数据库负载过重...原创 2020-01-24 10:32:50 · 1178 阅读 · 0 评论 -
Oracle对表delete后空间不释放
涉及概念:使用delete删除数据后,表空间不会回收,存在高水位(High Water Mark,HWM)是Oracle(Segment)级别的概念。在仅有DML(比如delete,insert)操作时,高水位线只会增长,不会降低。具体来说,由于程序使用的delete语句不回收使用过的空间,数据虽然删除了,但是高水位线却没有降低,仍然处于之前的水位。alter table 表名 enabl...原创 2020-01-07 21:46:29 · 8060 阅读 · 1 评论 -
Oracle全部权限
ADMINISTER ANY SQL TUNING SETADMINISTER DATABASE TRIGGERADMINISTER KEY MANAGEMENTADMINISTER RESOURCE MANAGERADMINISTER SQL MANAGEMENT OBJECTADMINISTER SQL TUNING SETADVISORALTER ANY ANALYTIC VI...原创 2020-01-07 21:44:22 · 302 阅读 · 0 评论 -
Oracle创建新用户并授权
以sysdba身份登录oracle$ sqlplus / as sysdbaSQL*Plus: Release 12.2.0.1.0 Production on 星期一 11月 18 15:26:07 2019Copyright (c) 1982, 2016, Oracle. All rights reserved.连接到: Oracle Database 12c Enterpr...原创 2020-01-07 21:43:36 · 531 阅读 · 0 评论 -
Oracle数据字典
ORACLE的数据字典是数据库的重要组成部分之一,它随着数据库的产生而产生, 随着数据库的变化而变化, 体现为sys用户下的一些表和视图。数据字典名称是大写的英文字符。数据字典里存有用户信息、用户的权限信息、所有数据对象信息、表的约束条件、统计分析数据库的视图等,我们不能手工修改数据字典里的信息。dictionary:全部数据字典表的名称和解释,它有一个同义词dictdict_colum...原创 2018-11-17 21:58:19 · 375 阅读 · 0 评论 -
Oracle启动与关闭
单机环境下要想启动或关闭ORACLE系统,必须首先切换到ORACLE用户su - oracle 启动ORACLE系统 oracle>svrmgrl SVRMGR>connect internal SVRMGR>startup SVRMGR>quit 关闭ORACLE系统 oracle>svrmgrl SVRMGR>c...原创 2018-11-17 21:56:00 · 432 阅读 · 0 评论 -
Oracle基本语法与数据对象
数据控制语句 (DML) 部分 INSERT (往数据表里插入记录的语句)INSERT INTO 表名(字段名1, 字段名2, ……) VALUES ( 值1, 值2, ……); INSERT INTO 表名(字段名1, 字段名2, ……) SELECT (字段名1, 字段名2, ……) FROM 另外的表名;字符串类型的字段值必须用单引号括起来, 例如: ’GOOD DAY...原创 2018-11-17 21:54:46 · 142 阅读 · 0 评论 -
Oracle常用表与视图操作
新建表 CREATE TABLE 表名; 删除表 DROP TABLE 表名; 删除表数据 DELETE FROM 表名; 修改表数据 UPDATE 表名 SET 字段=值 WHERE 条件; 复制表结构 CREATE TABLE 新表名 AS SLECET * 旧表名 FROM WHERE 1=2; 复制表结构和数据 ...原创 2018-11-17 21:51:56 · 349 阅读 · 0 评论 -
Oracle常用存过与作业操作
PROCEDURE操作 调用指定PROCEDURE EXEC 存过名(参数) 查看正在运行PROCEDURE SELECT NAME,LOCKS,PINSFROM V$DB_OBJECT_CACHEWHERE LOCKS > 0 AND PINS > 0 AND TYPE='PROCEDURE'; 强制关闭PROCEDURE SELECT S...原创 2018-11-17 21:50:47 · 869 阅读 · 0 评论 -
Oracle常用表字段操作
添加列命令 alter table xueshengbiao add (xuehao char(4),age number(2)) 修改类型和长度 alter table zueshengbiao modify age char(2) 修改表名 alter table xueshengbiao rename to xsb 重命名列 alter t...原创 2018-11-17 21:49:33 · 317 阅读 · 0 评论 -
Oracle常用关键字
数据字典:DBA_TABLES 所有用户的所有表的信息;DBA_TAB_COLUMNS 所有用户的表的列(字段)信息;DBA_VIEWS 所有用户的所有视图信息;DBA_SYNONYMS 所有用户同义词信息;DBA_SEQUENCES 所有用户序列信息;DBA_CONSTRAINTS 所有用户的表约束信息;DBA_INDEXES 所有用户索引的简要信息;DBA_IN...原创 2018-11-17 21:46:45 · 2220 阅读 · 0 评论 -
SQL中视图与表的区别与联系
区别:1、视图是已经编译好的sql语句,而表不是 2、视图没有实际的物理记录,而表有3、表是内容,视图是窗口4、表只用物理空间而视图不占用物理空间,视图只是逻辑概念的存在,表可以及时对它进行修改,但视图只能有创建的语句来修改5、表是内模式,视图是外模式6、视图是查看数据表的一种方法,可以查询数据表中某些字段构成的数据,只是一些SQL语句的集合。从安全的角度说,视图可以不给用户接触数据表,从而不知...原创 2018-07-11 14:35:46 · 11047 阅读 · 0 评论 -
SQL中的三大范式
第一范式(1NF) 在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。 所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。...原创 2018-07-11 13:50:24 · 394 阅读 · 3 评论 -
Ubutun下安装MySQL
建议在Linux中使用RPM(RedHat系列)或者DEB(Debian/Ubuntu系列)包来安装MySQL,在大多数情况,你只需要通过命令行的方式apt-get安装MySQL-server和MySQL-client软件包来安装MySQL。在标准安装中不需要其它的包。如果你想要运行含更多功能的MySQL-Max服务器,还应当安装MySQL-Max RPM。必须先安装M MySQL-server ...原创 2018-07-11 12:48:32 · 286 阅读 · 0 评论 -
MySQL中的约束
主键 默认值 唯一 外键 非空PRIMARY KEY DEFAULT UNIQUE FOREIGN KEY NOT NULL主键 (PRIMARY KEY)是用于约束表中的一行,作为这一行的唯一标识符,在一张表中通过主键就能准确定位到一行,因此主键十分重要。主键不能有重复且不能为空。定义主键的方式:CREATE TABLE employee{id INT(10) PRIM...原创 2018-07-11 12:41:16 · 215 阅读 · 0 评论 -
MySQL中的数据类型
数据类型 大小(字节) 用途 格式INT 4 整数 FLOAT 4 单精度浮点数 DOUBLE 8 双精度浮点数 ENUM 单选,比如性别 ENUM('a','b','c') SET 多选 SET('1','2','3') DATE 3 日期 YYYY-MM-DDTIME 3 时间点或持续时间 HH:MM:SSYEAR ...原创 2018-07-11 12:38:19 · 114 阅读 · 0 评论