Python 自建 API 合集
前言本文收集了常用的 API 接口以及自己部署于 Vercel 的 Python API 合集。 自建 API百度百度统计接口地址: /baidu/tongji 描述: 重定向请求百度统计,解决跨域问题 请求方式: GET 请求参数说明: 百度统计用户手册 请求示例: 无 百度翻译接口地址: /baidu/translate 描述: 百度翻译 请求方式: GET 请求参数说明: 字段名 字段说明 字段类型 默认值 是否必填 fr 源语言 string 英语 否 to 翻译语言 string 中文 否 content 源语言 string Hello World 否 请求示例: https://api.eurkon.com/baidu/translate?fr=英语&to=中文&content=helloworld 谷歌谷歌翻译接口地址: /google/translate 描述: 谷歌翻译 请求方式:...
Butterfly 微博热搜侧边栏
前言本文教程主要针对 Hexo Butterfly 主题博客,使用 Vercel API 爬取微博热搜,具体效果可以查看本站侧边栏微博热搜板块。 2021-09-07 新浪微博热搜增加“音”、“影”、“剧”、“综”等标签,教程同步增加相应的 css 样式。 2021-09-28 由于微博热搜改为了异步加载,旧的爬取方法暂时不能用了,可以去 GitHub 更新代码,也可以参考 Python 代码,可以使用其他方法(可能会出现跨域)请求 微博热搜数据。 2023-03-20 文章 weibo-top-api.vercel.app 地址已失效,vercel 需要绑定域名使用,可以改成 weibo.eurkon.com,尽量自己新建 Vercel。 card_weibo.js可以使用博主的 card_weibo.js 地址,或者自己创建 card_weibo.js...
Spark 面试题解析
Spark 内核Spark 的有几种部署模式,每种模式特点? 本地模式:Spark 不一定非要跑在 Hadoop 集群,可以在本地,起多个线程的方式来指定。将 Spark 应用以多线程的方式直接运行在本地,一般都是为了方便调试,本地模式分三类: local:只启动一个 Executor local[k]:启动 k 个 Executor local[*]:启动跟 CPU 数目相同的 Executor standalone 模式:分布式部署集群,自带完整的服务,资源管理和任务监控是 Spark 自己监控,这个模式也是其他模式的基础。 Spark on Yarn 模式:分布式部署集群,资源和任务监控交给 YARN 管理,但是目前仅支持粗粒度资源分配方式,包含 cluster 和 client 运行模式,cluster 适合生产,Driver 运行在集群子节点,具有容错功能,client 适合调试,Driver 运行在客户端。 Spark On Mesos 模式:官方推荐这种模式(当然,原因之一是血缘关系)。正是由于 Spark 开发之初就考虑到支持...
Hexo 博客访问日历图
前言本文教程主要针对 Hexo 博客,参考冰老师的 hexo-githubcalendar 插件,对博客站点的每日的访问进行统计,绘制出类似与 GitHub 贡献日历的博客访问日历。 本文数据来源均为百度统计,请确保博客站点已加入百度统计,以 butterfly 主题为例,可参照 Butterfly 安装文档(四) 主题配置-2 的分析统计段落实现。 本地主机访问(localhost)也会记录到百度统计,推荐在 【百度统计】--【管理】--【统计规则设置】--【过滤规则设置】--【受访域名统计规则】--【勾选排除 localhost(本地主机)】 排除本地主机访问(貌似在勾选后生效,但是以前的访问记录仍会统计)。 本教程将会泄漏属于百度统计的站点 ID 和百度统计 AccessToken,请先前往 百度统计用户手册 了解,介意者请谨慎部署。 2022-03-29 使用 LeanCloud 存储百度统计的 AccessToken 和 RefreshToken,并使用 Github Action...
Hexo 博客实时访问统计图
前言本文教程主要针对 Hexo 博客,对博客站点的的访问地图、每月访问量、访问来源的维度绘制统计图,使用的是 ECharts 开源可视化库。具体效果可以点击本站的 统计--博客统计 页面查看。 本文数据来源均为百度统计,请确保博客站点已加入百度统计,以 butterfly 主题为例,可参照 Butterfly 安装文档(四) 主题配置-2 的分析统计段落实现。 本地主机访问(localhost)也会记录到百度统计,推荐在 【百度统计】--【管理】--【统计规则设置】--【过滤规则设置】--【受访域名统计规则】--【勾选排除 localhost(本地主机)】 排除本地主机访问(貌似在勾选后生效,但是以前的访问记录仍会统计)。 此文是针对于文章 Hexo 博客访问统计图 改良版,实时调用百度统计 API 获取访问数据。 本教程将会泄漏属于百度统计的站点 ID 和百度统计 AccessToken,请先前往 百度统计用户手册 了解,介意者请谨慎部署。 2021-05-14 新增访客数的统计,统计指标 metrics...
Spark RDD 常用算子
Spark 的算子的分类 从大方向来说,Spark 算子大致可以分为以下两类: Transformation 变换/转换算子:这种变换并不触发提交作业,完成作业中间过程处理。 Transformation 操作是延迟计算的,也就是说从一个 RDD 转换生成另一个 RDD 的转换操作不是马上执行,需要等到有 Action 操作的时候才会真正触发运算。 Action 行动算子:这类算子会触发 SparkContext 提交 Job 作业。 Action 算子会触发 Spark 提交作业(Job),并将数据输出 Spark 系统。 从小方向来说,Spark 算子大致可以分为以下三类: Value 数据类型的 Transformation 算子,这种变换并不触发提交作业,针对处理的数据项是 Value 型的数据。 Key-Value 数据类型的 Transformation 算子,这种变换并不触发提交作业,针对处理的数据项是 Key-Value 型的数据对。 Action 算子,这类算子会触发 SparkContext 提交 Job 作业。 Value 数据类型的...
Linux 常用命令
系统信息 命令 描述 arch 显示机器的处理器架构 uname -m 显示机器的处理器架构 uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 -(SMBIOS/DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpuinfo 显示 CPU info 的信息 cat /proc/interrupts 显示中断 cat /proc/meminfo 校验内存使用 cat /proc/swaps 显示哪些 swap 被使用 cat /proc/version 显示内核的版本 cat /proc/net/dev 显示网络适配器及统计 cat /proc/mounts 显示已加载的文件系统 lspci -tv 罗列 PCI 设备 lsusb -tv 显示 USB 设备 date 显示系统日期 cal 2007 显示 2007 年的日历表 date...
MySQL 面试题解析
CHAR、VARCHAR 的区别是什么? CHAR 的特点 CHAR 表示定长字符串,长度是固定的; 如果插入数据的长度小于 CHAR 的固定长度时,则用空格填充; 因为长度固定,所以存取速度要比 VARCHAR 快很多,甚至能快 50%,但正因为其长度固定,所以会占据多余的空间,是空间换时间的做法; 对于 CHAR 来说,最多能存放的字符个数为 255,和编码无关。 VARCHAR 的特点 VARCHAR 表示可变长字符串,长度是可变的; 插入的数据是多长,就按照多长来存储; VARCHAR 在存取方面与 CHAR 相反,它存取慢,因为长度不固定,但正因如此,不占据多余的空间,是时间换空间的做法; 对于 VARCHAR 来说,最多能存放的字符个数为 65532。 总之,结合性能角度(CHAR 更快)和节省磁盘空间角度(VARCHAR 更小),具体情况还需具体来设计数据库才是妥当的做法。 DELETE、TRUNCATE 与 DROP 的区别是什么? DELETE 命令从一个表中删除某一行,或多行; TRUNCATE 命令永久地从表中删除每一行。 DROP...
Sqoop 面试题解析
Sqoop 参数Sqoop 导入数据到 HDFS 中的参数 123456789101112131415/opt/module/sqoop/bin/sqoop import \--connect jdbc 的 url 字符串\--username 账号\--password 密码\# HDFS 目标的目录--target-dir \# 导入的目标目录如果存在则删除那个目录--delete-target-dir \# 相当于 -m,并行导入时 MapTask 的个数--num-mappers \--fields-terminated-by \# 指定满足 sql 和条件的数据导入# --query:增加检索条件部分数据抽取# $CONDITIONS:数据分割条件的占位符--query "$2" 'and $CONDITIONS;' Sqoop 导入数据到 Hive 中的参数 123456789# 一步将表结构和数据都导入到 hive 中bin/sqoop import \--connect jdbc 的 url 字符串\--table...
Hive SQL 大全
前言本文基本涵盖了 Hive 日常使用的所有 SQL,因为 SQL 太多,所以将 SQL 进行了如下分类: DDL 语句(数据定义语句): 对数据库的操作:包含创建、修改数据库。 对数据表的操作:分为内部表及外部表,分区表和分桶表。 DQL 语句(数据查询语句): 单表查询、关联查询。 Hive 函数:包含聚合函数,条件函数,日期函数,字符串函数等。 行转列及列转行:lateral view 与 explode 以及 reflect。 窗口函数与分析函数。 其他一些窗口函数。 Hive 的 DDL 语法对数据库的操作创建数据库12345create database if not exists myhive;# 说明:hive 的表存放位置模式是由 hive-site.xml 当中的一个属性指定的:hive.metastore.warehouse.dir# 创建数据库并指定 HDFS 存储位置 :create database myhive2 location '/myhive2'; 修改数据库1alter database myhive2...
HBase 面试题解析
HBase 的特点是什么? 大:一个表可以有数十亿行,上百万列; 无模式:每行都有一个可排序的主键和任意多的列,列可以根据需要动态的增加,同一张表中不同的行可以有截然不同的列; 面向列:面向列(族)的存储和权限控制,列(族)独立检索; 稀疏:空(null)列并不占用存储空间,表可以设计的非常稀疏; 数据多版本:每个单元中的数据可以有多个版本,默认情况下版本号自动分配,是单元格插入时的时间戳; 数据类型单一:HBase 中的数据都是字符串,没有类型。 HBase 和 Hive 的区别? HBase Hive 类型 列式数据库 数据仓库 内部机制 数据库引擎 MapReduce 增删改查 都支持 只支持导入和查询 Schema 只需要预先定义列族,不需要具体到列,列可以动态修改 需要预先定义表格 应用场景 实时 离线处理 特点 以 K-V 形式存储 类 SQL Hive 和 HBase 是两种基于 Hadoop 的不同技术,Hive 是一种类 SQL 的引擎,并且运行 MapReduce 任务,HBase 是一种在...
Hexo 博客访问统计图(弃用)
前言 本教程已经弃用,请查看新教程 Hexo 博客实时访问统计图 本文教程主要针对 Hexo 博客,对博客站点的的访问地图、每月访问量、访问来源的维度绘制统计图,使用的是 ECharts 开源可视化库。具体效果可以点击本站的 统计--博客统计 页面查看。 本文数据来源均为百度统计,请确保博客站点已加入百度统计,以 butterfly 主题为例,可参照 Butterfly 安装文档(四) 主题配置-2 的分析统计段落实现。 本地主机访问(localhost)也会记录到百度统计,推荐在 【百度统计】--【管理】--【统计规则设置】--【过滤规则设置】--【受访域名统计规则】--【勾选排除 localhost(本地主机)】 排除本地主机访问(貌似在勾选后生效,但是以前的访问记录仍会统计)。 绘制统计图的数据在生成后不会变化。 2021-05-14 新增访客数的统计,统计指标 metrics 可以选择统计访问次数(PV)还是访客数(UV)。 2021-05-17 新增主题“明暗模式”下统计图的颜色切换。 2021-05-17 针对访问数据的实时性问题,发表了新教程 Hexo...
Hexo 博客文章统计图
前言本文教程主要针对 Hexo 博客,对博客的文章发布时间、文章分类、文章标签的维度绘制统计图,使用的是 ECharts 开源可视化库。具体效果可以点击本站的 统计--文章统计 页面查看。 2021-05-17 新增主题“明暗模式”下统计图的颜色切换。 2021-11-30 新增标签统计图和分类统计图的页面跳转功能。 2022-05-07 新增文章发布统计图自定义统计开始日期属性 data-start。 2022-08-15 V2.0 适配多层级分类,单层分类时显示饼状图,多层分类时显示旭日图; 多分类时页面也可以跳转到子分类页面。 如果想绘制博客站点访问统计图的可以参考文章 Hexo 博客实时访问统计图 新建 charts 页面使用命令创建手动创建1hexo new page charts 在 [Blogroot]\source\ 目录下新建 charts 文件夹,并在新建的 charts 文件夹下新建 index.md 文件,添加以下内容: 1234---title: 文章统计date: 2020-03-01 08:00:00--- 引入...
Hive 面试题解析
Hive 基础请谈一下 Hive 的特点,Hive 和 RDBMS 有什么异同?Hive 是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的 SQL 查询功能,可以将 SQL 语句转换为 MapReduce 任务进行运行。其优点是学习成本低,可以通过类 SQL 语句快速实现简单的 MapReduce 统计,不必开发专门的 MapReduce 应用,十分适合数据仓库的统计分析,但是 Hive 不支持实时查询。 Hive 与关系型数据库的区别: 比较项 SQL HiveQL ANSI SQL 支持 不完全支持 更新 UPDATE\INSERT\DELETE INSERT OVERWRITE\INTO TABLE 事务 支持 不支持 模式 写模式 读模式 数据保存 块设备、本地文件系统 HDFS 延时 低 高 多表插入 不支持 支持 子查询 完全支持 只能用在 From...
Kafka 面试题解析
请说明什么是 Apache Kafka?Apache Kafka 是由 Apache 开发的一种发布订阅消息系统,它是一个分布式的、分区的和重复的日志服务。 请说明什么是传统的消息传递方法?传统的消息传递方法包括两种: 队列:在队列中,一组用户可以从服务器中读取消息,每条消息都发送给其中一个人。 发布-订阅:在这个模型中,消息被广播给所有的用户。 Kafka 都有哪些特点? 高吞吐量、低延迟:Kafka 每秒可以处理几十万条消息,它的延迟最低只有几毫秒,每个 topic 可以分多个 partition、consumer group 对 partition 进行 consume 操作。 可扩展性:Kafka 集群支持热扩展。 持久性、可靠性:消息被持久化到本地磁盘,并且支持数据备份防止数据丢失。 容错性:允许集群中节点失败(若副本数量为 n,则允许 n-1 个节点失败)。 高并发:支持数千个客户端同时读写。 请说明 Kafka 相对于传统的消息传递方法有什么优势? 高性能:单一的 Kafka 代理可以处理成千上万的客户端,每秒处理数兆字节的读写操作,Kafka...
Flume 面试题解析
Flume 使用场景?线上数据一般主要是落地(存储到磁盘)或者通过 socket 传输给另外一个系统,这种情况下,你很难推动线上应用或服务去修改接口,实现直接向 Kafka 里写数据,这时候你可能就需要 Flume 这样的系统帮你去做传输。 Flume 丢包问题?单机 upd 的 Flume source 的配置,100+M/s 数据量,10w qps Flume 就开始大量丢包,因此很多公司在搭建系统时,抛弃了 Flume,自己研发传输系统,但是往往会参考 Flume 的 Source-Channel-Sink 模式。 一些公司在 Flume 工作过程中,会对业务日志进行监控,例如 Flume agent 中有多少条日志,Flume 到 Kafka 后有多少条日志等等,如果数据丢失保持在 1% 左右是没有问题的,当数据丢失达到 5% 左右时就必须采取相应措施。 Flume 与 Kafka 的选取?采集层主要可以使用 Flume、Kafka 两种技术。 Flume:Flume 是管道流方式,提供了很多的默认实现,让用户通过参数部署,及扩展 API。 Kafka:Kafka...
Zookeeper 面试题解析
请简述 Zookeeper 的选举机制?假设有五台服务器组成的 Zookeeper 集群,它们的 id 从 1-5,同时它们都是最新启动的,也就是没有历史数据,在存放数据量这一点上,都是一样的。假设这些服务器依序启动,来看看会发生什么。 服务器 1 启动,此时只有它一台服务器启动了,它发出去的报没有任何响应,所以它的选举状态一直是 LOOKING 状态; 服务器 2 启动,它与最开始启动的服务器 1 进行通信,互相交换自己的选举结果,由于两者都没有历史数据,所以 id 值较大的服务器 2 胜出,但是由于没有达到超过半数以上的服务器都同意选举它(这个例子中的半数以上是 3),所以服务器 1、2 还是继续保持 LOOKING 状态; 服务器 3 启动,根据前面的理论分析,服务器 3 成为服务器 1、2、3 中的 Leader,而与上面不同的是,此时有三台服务器选举了它,所以它成为了这次选举的 Leader; 服务器 4 启动,根据前面的分析,理论上服务器 4 应该是服务器 1、2、3、4 中最大的,但是由于前面已经有半数以上的服务器选举了服务器 3,所以它成为...
Hadoop 面试题解析
Hadoop 基础集群的最主要瓶颈?磁盘 IO。 Hadoop 运行模式? 独立(本地)运行模式:无需任何守护进程,所有的程序都运行在同一个 JVM 上执行。在独立模式下调试 MR 程序非常高效方便。所以一般该模式主要是在学习或者开发阶段调试使用。 伪分布式模式:Hadoop 守护进程运行在本地机器上,模拟一个小规模的集群,换句话说,可以配置一台机器的 Hadoop 集群,伪分布式是完全分布式的一个特例。 完全分布式模式:Hadoop 守护进程运行在一个集群上。 注意:所谓分布式要启动守护进程,即:使用分布式 Hadoop 时,要先启动一些准备程序进程,然后才能使用比如...
大数据面试题解析
Hadoop 面试题解析Zookeeper 面试题解析Flume 面试题解析Kafka 面试题解析Hive 面试题解析HBase 面试题解析Sqoop 面试题解析MySQL 面试题解析Spark 面试题解析Elasticsearch 面试题解析
Java 面试题解析(Java EE)
什么是 ORM?答:对象关系映射(Object-Relational Mapping,简称 ORM)是一种为了解决程序的面向对象模型与数据库的关系模型互不匹配问题的技术;简单的说,ORM 是通过使用描述对象和数据库之间映射的元数据(在 Java 中可以用 XML 或者是注解),将程序中的对象自动持久化到关系数据库中或者将关系数据库表中的行转换成 Java...