AWS数据查询工具-Athena
Amazon Athena 是一种交互式查询服务,让您能够轻松使用标准 SQL 直接分析 Amazon Simple Storage Service (Amazon S3) 中的数据。只需在 AWS Management Console 中执行几项操作,即可将 Athena 指向 Amazon S3 中存储的数据,并开始使用标准 SQL 运行临时查询,然后在几秒钟内获得结果。
Amazon Athena 还可使用 Apache Spark 以交互方式轻松运行数据分析,无需规划、配置或管理资源。在 Athena 上运行 Apache Spark 应用程序时,您需要提交 Spark 代码以进行处理并直接接收结果。使用 Amazon Athena 控制台中简化的笔记本体验,以通过 Python 或 Athena 笔记本 API 开发 Apache Spark 应用程序。
Athena SQL 和 Amazon Athena 上的 Apache Spark 无服务器,因此您无需设置或管理任何基础设施,只需为运行的查询付费。Athena 可自动扩展(并行执行查询),因此,即使在数据集很大、查询很复杂的情况下也能很快获得结果。
数据处理 EXASOL
数据库语言-EXASQL
“The fastest in-memory database how you want it. Deployed on premise, in the cloud, or in hybrid environments.”
官方文档: https://docs.exasol.com/db/latest/sql_reference.htm
数据处理 MySql
MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
MySQL这个名字是怎么来的已经不清楚了。基本指南和大量的库和工具带有前缀“my”已经有10年以上,而且不管怎样,MySQL AB创始人之一的的女儿也叫My。这两个到底是哪一个给出了MySQL这个名字至今依然是个迷,包括开发者在内也不知道。
MySQL的海豚标志的名字叫“sakila”,它是由MySQL AB的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。获胜的名字是由来自非洲斯威士兰的开源软件开发者Ambrose Twebaze提供。根据Ambrose所说,Sakila来自一种叫SiSwati的斯威士兰方言,也是在Ambrose的家乡乌干达附近的坦桑尼亚的Arusha的一个小镇的名字。
2008年1月16日MySQL AB被Sun公司收购。而2009年,SUN又被Oracle收购。就这样如同一个轮回,MySQL成为了Oracle公司的另一个数据库项目。
MySQL是数据库的一种,具有数据库的通用特征,同时,比起其他类型的数据库,它还具有自己鲜明的特点。
数据处理 Hive Sql
Hive Sql
Hive是一个在Hadoop中用来处理结构化数据的数据仓库基础工具。它架构在Hadoop之上,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行。
术语“大数据”是大型数据集,其中包括体积庞大,高速,以及各种由与日俱增的数据的集合。使用传统的数据管理系统难以加工大型数据。因此,Apache软件基金会推出了一款名为Hadoop的解决大数据管理和处理难题的框架。
官方文档: https://www.docs4dev.com/docs/zh/apache-hive/3.1.1/reference/LanguageManual_DML.html
数据处理 Redis
一种NoSQL数据库:开源、包含多种数据结构、支持网络、基于内存、可选持久性的键值对存储数据库
应用场景 缓存系统(热点数据 高频读 低频写),
相对其他数据库语言的特点:C/S通讯模型,单进程单线程模型,丰富的数据类型,操作具有原子性,持久化,高并发读写,支持lua脚本
数据处理 Sql Server
SQL Server数据库是Microsoft开发设计的一个关系数据库智能管理系统(RDBMS),现在是全世界主流数据库之一;
SQL Server数据库具备方便使用、可伸缩性好、相关软件集成程度高等优势,能够从单一的笔记本上运行或以高倍云服务器集群为基础,或在这两者之间任何东西上运行。尽管说成“任何东西”,可是依然要考虑有关的软件和硬件配置;
SQL Server应用集成化的商务智能(BI)专用工具提供了企业级的数据管理服务。Microsoft SQL Server数据库引擎为关系型数据和结构化数据提供了更可靠安全的存储功能,使用户能够搭建和管理用于业务流程的高可用性和性能卓越的程序。
SQL Server1.0在1989年公布,迄今SQL Server已变成一个企业级的信息化平台。SQL Server2014包含内嵌的商业智能专用工具,以及一系列的分析和报告工具,能够建立数据库、备份数据、拷贝,为数据安全提供了更强的保障。
数据处理 PostgreSQL
PostgreSQL是一个功能强大的开源对象关系型数据库系统,他使用和扩展了SQL语言,并结合了许多安全存储和扩展最复杂数据工作负载的功能。PostgreSQL的起源可以追溯到1986年,作为加州大学伯克利分校POSTGRES项目的一部分,并且在核心平台上进行了30多年的积极开发。
PostgresSQL凭借其经过验证的架构,可靠性,数据完整性,强大的功能集,可扩展性以及软件背后的开源社区的奉献精神赢得了良好的声誉,以始终如一地提供高性能和创新的解决方案。PostgreSQL在所有主要操作系统开始使用PostgreSQL从未如此简单。
面试题之Python interview-python
Python的函数参数传递
1 | 看两个如下例子,分析运行结果: |
Python中的元类(metaclass)
1 | 元类就是用来创建类的“东西”。你创建类就是为了创建类的实例对象,但是我们已经学习到了Python中的类也是对象。好吧,元类就是用来创建这些类(对象)的,元类就是类的类 |
@staticmethod和@classmethod
1 | Python其实有3个方法,即静态方法(staticmethod),类方法(classmethod)和实例方法,如下: |
类变量和实例变量
1 |
|
Python自省
1 | 这个也是python彪悍的特性. |
字典推导式
1 | 可能你见过列表推导时,却没有见过字典推导式,在2.7中才加入的: |
Python中单下划线和双下划线
1 | class MyClass(): |
字符串格式化:%和.format
1 | .format在许多方面看起来更便利.对于%最烦人的是它无法同时传递一个变量和元组.你可能会想下面的代码不会有什么问题: |
迭代器和生成器
1 | 在Python中,这种一边循环一边计算的机制,称为生成器:generator。 |
*args and **kwargs
1 | 用*args和**kwargs只是为了方便并没有强制使用它们. |
面向切面编程AOP和装饰器
1 | 这个AOP一听起来有点懵,同学面试的时候就被问懵了… |
鸭子类型
1 | “当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子。” |
Python中重载
1 | 引自知乎:http://www.zhihu.com/question/20053359 |
新式类和旧式类
1 | 这个面试官问了,我说了老半天,不知道他问的真正意图是什么. |
__new__和__init__的区别
1 | 这个__new__确实很少见到,先做了解吧. |
单例模式
1 | # 这个绝对常考啊.绝对要记住1~2个方法,当时面试官是让手写的. |
Python中的作用域
1 | Python 中,一个变量的作用域总是由在代码中被赋值的地方所决定的。 |
GIL线程全局锁
1 | 线程全局锁(Global Interpreter Lock),即Python为了保证线程安全而采取的独立线程运行的限制,说白了就是一个核只能在同一时间运行一个线程. |
协程
1 | 简单点说协程是进程和线程的升级版,进程和线程都面临着内核态和用户态的切换问题而耗费许多切换时间,而协程就是用户自己控制切换的时机,不再需要陷入系统的内核态. |
闭包
1 | 闭包(closure)是函数式编程的重要的语法结构。闭包也是一种组织代码的结构,它同样提高了代码的可重复使用性。 |
lambda函数
1 | 其实就是一个匿名函数,为什么叫lambda?因为和后面的函数式编程有关. |
Python函数式编程
1 | 这个需要适当的了解一下吧,毕竟函数式编程在Python中也做了引用. |
Python里的拷贝
1 | 引用和copy(),deepcopy()的区别 |
Python垃圾回收机制
1 | Python GC主要使用引用计数(reference counting)来跟踪和回收垃圾。在引用计数的基础上,通过“标记-清除”(mark and sweep)解决容器对象可能产生的循环引用问题,通过“分代回收”(generation collection)以空间换时间的方法提高垃圾回收效率。 |
Python里面如何实现tuple和list的转换?
1 | 答:tuple,可以说是不可变的list,访问方式还是通过索引下标的方式。 |
Python的is
1 | is是对比地址,==是对比值 |
read,readline和readlines
1 | • read 读取整个文件 |
Python2和3的区别
1 | 大部分Python库都同时支持Python 2.7.x和3.x版本的,所以不论选择哪个版本都是可以的。但为了在使用Python时避开某些版本中一些常见的陷阱,或需要移植某个Python项目 |
到底什么是Python?你可以在回答中与其他技术进行对比
1 | 下面是一些关键点: |
“猴子补丁”(monkey patching)指的是什么?这种做法好吗?
1 | “猴子补丁”就是指,在函数或对象已经定义之后,再去改变它们的行为。 |
介绍一下except的用法和作用?
1 | try…except…except…[else…][finally…] |
Python中pass语句的作用是什么?
1 | 答:pass语句不会执行任何操作,一般作为占位符或者创建占位程序,whileFalse:pass |
38.介绍一下Python下range()函数的用法?
1 | 列出一组数据,经常用在for in range()循环中 |
如何用Python来进行查询和替换一个文本字符串?
1 | # 可以使用re模块中的sub()函数或者subn()函数来进行查询和替换, |
用Python匹配HTML tag的时候,<.*>和<.*?>有什么区别?
1 | 术语叫贪婪匹配( <.*> )和非贪婪匹配(<.*?> ) |
Python里面如何生成随机数?
1 | random模块 |
有没有一个工具可以帮助查找python的bug和进行静态的代码分析?
1 | PyChecker是一个python代码的静态分析工具,它可以帮助查找python代码的bug, 会对代码的复杂度和格式提出警告 |
如何在一个function里面设置一个全局的变量?
1 | 答:解决方法是在function的开始插入一个global声明: |
单引号,双引号,三引号的区别
1 | 答:单引号和双引号是等效的,如果要换行,需要符号(\),三引号则可以直接换行,并且可以包含注释 |
Python和多线程(multi-threading)。这是个好主意码?列举一些让Python代码以并行方式运行的方法。
1 | Python并不支持真正意义上的多线程。Python中提供了多线程包,但是如果你想通过多线程提高代码的速度,使用多线程包并不是个好主意。Python中有一个被称为Global Interpreter Lock(GIL)的东西,它会确保任何时候你的多个线程中,只有一个被执行。线程的执行速度非常之快,会让你误以为线程是并行执行的,但是实际上都是轮流执行。经过GIL这一道关卡处理,会增加执行的开销。这意味着,如果你想提高代码的运行速度,使用threading包并不是一个很好的方法。 |
数据处理 Excel
Excel常用数据处理的函数/工具
版本管理工具 Git
一切开始的地方
作为目前最流行的分布式版本管理工具,git从诞生伊始就备受关注。虽然这与它的作者Linus(大名鼎鼎的Linux操作系统的作者)的个人影响力有一定的关系,
但更重要的是,git无论是在设计理念、性能、安全性还是易用性等方面都有着传统的版本管理工具无可比拟的优势。除此之外,它还是完全开源和免费的。
很多对Git完全不了解的同学可能会误以为Git和Github是一个概念,但其实两者有着本质的区别:
前者是一个版本管理工具,而后者是一个项目托管平台。在英文中hub的意思是“中心,核心”,
所以Github意为它是以Git作为版本管理工具的项目托管平台
标注工具 LabelImg
“””
filename :图片名称
size:width,heights 图片尺寸
object:图片中标注的目标,可能含有多个目标,这个xml就有2个标注目标
name:标注目标 类别标签 labels
bndbox :标注目标框
xmin ,ymin ,xmax ,ymax (左上角,右下角坐标)
“””
电脑基本操作 Windows & Mac
Mac
mac微信双开语句
nohup /Applications/WeChat.app/Contents/MacOS/WeChat > /dev/null 2>&1 &
Windows
Win10使用小技巧
Windows快捷键大全,是指在Windows操作系统下,操作电脑的键盘快捷方式
- win+E 资源管理器 // 常用文件夹
- win+R 运行
- win+Tab 切换桌面 // 切换任务
- win+Z 打开程序
- win+D 退出
- win+l 锁屏
- win+v 打开剪切板
- win+i 打开windows
- win+shift+s 截图
- Alt+Tab 切换上一个任务
- in+Q/S 启动开始栏查询框
- Ctrl+W 关闭当前窗口
WIN+R
1 | mstsc //远程桌面 |
文件扩展名对应的文件类型
1 | 常用扩展名 |
面试基础 interview
通往机器学习算法工程师的进阶之路是崎岖险阻的。《线性代数》 《统计学习方法》《机器学习》《模式识别》《深度学习》,以及《颈椎病康复指南》,这些书籍将长久地伴随着你的工作生涯。
除了拥有全面、有条理的知识储备,想成为一名优秀的算法工程师,更重要的是对算法模型有着发自心底的热忱,对研究工作有一种匠心精神。这种匠心精神,直白来讲,可以概括为:发现问题的眼光、解决问题的探索精神,以及对问题究原竟委的执着追求
磨刀不误砍柴工 Tools
一些些好用的工具合集
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info.
If you get any problems when using Hexo, you can find the answer in troubleshooting
or you can ask me on GitHub.
Quick Start
Create a new post
1 | $ hexo new "My New Post" |
More info: Writing
Run server
1 | $ hexo server |
More info: Server
Generate static files
1 | $ hexo generate |
More info: Generating
Deploy to remote sites
1 | $ hexo deploy |
More info: Deployment
Hexo基本操作