1. Mysql SQL Explain

    MySQL Explain、Type、Extra 用法和结果的含义 MySQL 查询优化之 Using FileSort MySQL Explain 信息中 Extra 字段解释 MySQL 语句性能优化 ORDER BY 中加 DESC 慢很多的原因调查与处理 MySQL 优化 ORDER BY 语句…

  2. Kafka 与 RMQ 的区别

    RocketMQ与kafka的区别…

  3. Flink State

    参考 Apache Flink State Types…

  4. Flink SQL

    常用参数{ // 开启 Checkpoint "execution.checkpointing.enable": "TRUE", // Checkpoint 超时时间 "execution.checkpointing.timeout": "240000", // Checkpoint 触发间隔 "execution.checkpointing.interval": "600000", // Checkpoint 存储 namespace,更换路径会清除 state "sta...…

  5. Hive UDF

    参考 A Complete Guide to Writing Hive UDF…

  6. Golang Classic Mistakes

    loop variable captured by go func literal问题还原var batchGroups [][]*FileInfo = BatchGroup(fileInfos, batchSize)group := new(errgroup.Group)for batchId, batchFiles := range batchGroups { // 这里进入 go 协程并发执行 group.Go(func() error { ... ...…

  7. Flink TableAPI

    参考 User-defined Sources & SinksDIM TableFlink SQL 使用FOR SYSTEM_TIME AS OF PROC_TIME()来标识维表 JOIN,目前仅支持INNER JOIN和LEFT JOIN语法-- 主表一般用 Kafka,RocketMQ 这种实时的流CREATE TABLE main_table ( id VARCHAR, proc_time AS PROTIME(), PRIMARY KEY(id) NO...…

  8. Flink User-defined Sources and Sinks

    参考 User-defined Sources & Sinks…

  9. Flink Performance Tuning

    参考 Performance TuningMiniBatch Aggregation MiniBatch Aggregation…

  10. Flink Memory Tune

    参考 Memory tuning guide Set up Flink’s Process Memory Set up TaskManager Memory Set up JobManager MemoryFlink Memory Model Flink JVM 内存超限的分析方法总结 RocksDB state backend …

  11. Flink Checkpoint & Savepoint

    JobManager 是 Dispatcher、集群框架特定的 ResourceManager、BlobServer 和一组 JobMaster(每个 Job 一个)的集合CheckpointsFlink 是有状态的流式计算引擎,因此需要定期将状态保存到文件系统,这样在任务重启和 Failover 的时候就可以从最近一次成功的Checkpoint 中恢复,达到数据处理的 Exactly Once 语义当数据的 Sink 实际写入(或下游可见)与 Checkpoint 绑定就可以实现端到...…

  12. Spark SQL Optimization

    Reference SparkSQL Performance TuningAQE SparkSQL - Adaptive Query Execution(AQE) Spark AQE 的源码初探 spark.sql.adaptive.allowBroadcastExchange.enabled truespark.sql.adaptive.coalescePartitionsSupportUnion.enabled truespark.sql.adaptive.enabled ...…

  13. ClickHouse SQL

    Reference window-functions ClickHouse 开窗函数 开窗函数之 first_value 和 last_valueWindow Functionsrow_number-- 线索转化情况select field_name, count(distinct sf_id) as numfrom ( select sf_id, field_name, ...…

  14. PrestoSQL

    Presto Explodepresto 没有 explode 可以使用 unsetWITH example(data) as ( VALUES (json '{"result":[{"name":"Jarret","score":"90"},{"name":"Blanche","score":"95"}]}'), (json '{"result":[{"name":"Blanche","score":"76"},{"name":"Jarret","score":"88"...…

  15. Golang Slice

    Golang Sliceslice 新增时 len+1 超出 cap 触发扩容,每次触发扩容,新分配的数组容量增加一倍(cap = 0 时,扩容新增 1,之后都是翻倍),扩容后,指针会指向新的数组func TestModifySlice(t *testing.T) { var s []int // 初始 cap = 0 for i := 0; i < 3; i++ { // zlen = len + 1 > cap, 触发数组 copy // len = 0, zlen =...…

  16. Golang Generics

    Reference Type Parameters Proposal Tutorial: Getting started with genericsExample 版本: Golang 1.17package mainimport ( "xxx/gopkg/lang/conv" "fmt")// Golang 1.18 默认实现了type any interface{}// 泛型语法 [T1 constrain, T2 constrain],T1 和 T2 代表泛型类型, const...…

  17. MySQL Index

    Commands# 创建普通索引alter table ${table_name} add index ${index_name}(${field1}, ${field2});# 创建唯一索引alter table ${table_name} add unique index ${unique_index_name}(${field1}, ${field2});# 或者alter table ${table_name} add constraint ${unique_index_name}...…

  18. Encryption Algorithm

    加密算法常见的加密算法从简单到复杂可以分为一下几类 Base64 编码 简单的字符串压缩 特殊字符通过 Base64 编码后进行参数传递可以免去转义的处理 单项散列函数: MD5、SHA1、SHA256…这类算法可以默认当作是不可逆的(这个说法并不绝对,比如彩虹表攻击) 信息摘要: 比如将一个视频文件转换成一个 128 bit 的 MD5 码作为标识 加密: 比如将明文密码 MD5 后存到数据库里面,虽然你并不知道用户...…

  19. curl

    使用 curl 检测 HTTP 请求个阶段时间一个 HTTP 请求涉及到多个阶段 DNS 域名解析 请求从 Client 路由到 Server,Client 与 Server 建立 TCP 链接 如果使用了 HTTPS,还涉及 SSL 链接的建立 Server 准备数据(比如逻辑计算,查询数据库,调用其他后端服务接口) Server 返回响应数据 Client 收到响应数据 整个过程还有可能涉及多次重定向# curl 使用说明$ man curlNAME curl - ...…

  20. Shell Scripts

    特殊变量 & 语法# shell script 本身的 pid $$ # shell script 最后运行的后台 process 的 pid $! # 最后运行的命令的结束代码(返回值),一般来讲 0(exit 0) 代表成功结束,1和其他数值代表不同类型的失败,当然你也可以不那么定义$? # 查看使用 set 命令设定的 flag $- # 所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。 $* # 所有参数列表。如"$@"用「"」括...…

  21. Hadoop Delegation Token

    Spark Submit On YARN21/07/05 17:30:21 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicableUsing Spark's default log4j profile: org/apache/spark/log4j-defaults.properties# Prin...…

  22. Java Memory Management

    ##方法区(Method Area)与 Java 堆一样,是各个线程共享的内存区域,它用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。Java 虚拟机规范把方法区描述为堆的一个逻辑部分,但是它却有一个别名叫做 Non-Heap(非堆),目的应该是与 Java 堆区分开来。1.7 之前 Hotspot 用永久代(Permanent Generation)实现方法区,来进行垃圾回收,永久代的垃圾回收主要包括类型的卸载和废弃常量池的回收。很多人都更愿意把方法区称为“...…

  23. Java GC Log

    GC Log Options -XX:+PrintGC,别名-verbose:gc:输出简要 GC 日志 -XX:+PrintGCDetails:输出 GC 的详细日志 -XX:+PrintGCTimeStamps:输出 GC 的时间戳(以基准时间的形式) -XX:+PrintGCDateStamps:输出 GC 的时间戳(以日期的形式,如 2013-05-04T21:53:59.234+0800) -XX:+PrintHeapAtGC:在进行 GC 的前后打印出堆的信息 -X...…

  24. Hadoop in Secure Mode

    Hadoop in Secure Mode Hadoop Security Design Troubleshooting Kerberos on Java 8 Hadoop and Kerberos: The Madness beyond the Gate…

  25. MySQL Install

    参考 Mysql Official Document Comment Syntax Mysql Download Repo卸载 MySQL卸载 yum 安装的 MySQL$ yum remove -y mysql*# 验证卸载情况,如果存在继续删$ rpm -qa | grep -i mysql# 删除其他相关文件$ rm -rf /var/lib/mysql$ rm /etc/my.cnf卸载 rpm 安装的 MySQL# 查询已经安装的 mysql 包$ rpm -qa | gr...…

  26. MySQL Locks

    参考 InnoDB Locking and Transaction Model InnoDB Locking InnoDB Transaction Model Locks Set by Different SQL Statements in InnoDB Phantom Rows Deadlocks in InnoDB Transaction Scheduling Optimizing Locking Op...…

  27. MySQL Exceptions

    异常记录corruption in the InnoDB tablespace这种错误一般都是由于断电(power breakdown)导致的。$ less /var/log/mysqld.log2019-05-22 21:59:55 0x7fad69ffb700 InnoDB: Assertion failure in thread 140382784435968 in file fut0lst.ic line 85InnoDB: Failing assertion: addr.pag...…

  28. MySQL Dead Locks

    死锁排查 MySQL锁优化 线上数据库死锁mysql> SHOW ENGINE INNODB STATUS;LATEST DETECTED DEADLOCK------------------------2020-06-28 14:31:21 0x7f8e40181700*** (1) TRANSACTION:TRANSACTION 618925, ACTIVE 0 sec fetching rowsmysql tables in use 3, locked 3LOCK WAIT...…

  29. Ozone

    两套集群,一套为刚搭建的 Ozone,一套为已有的 Hadoop 集群,进行对接测试,让 Hadoop 使用 Ozone 对象存储文件系统作为后端存储。PreparationInstall Ozone$ wget https://mirrors.tuna.tsinghua.edu.cn/apache/ozone/1.1.0/ozone-1.1.0.tar.gz$ tar -zxvf ozone-1.1.0.tar.gz# 生成配置模版 ozone-site.xml$ ozone genco...…

  30. 奇怪的知识又增加了

    MD5 的碰撞率MD5 是一种经典的信息摘要算法,由 32 个 十六进制(2^4)的数字构成,共 128 位。类比概率问题: 从 10 个不同的球中有放回的任意取两次,各个球俩俩互不相同的概率为 P = 1 * 9/10,则发生碰撞的概率为 1 - P = 1/10 从 10 个不同的球中有放回的任意取三次,各个球俩俩互不相同的概率为 P = 1 * 9/10 * 8/10,则发生碰撞的概率为 1 - P = 28/100 …… 从 N 个不同的球中有放回的任意取 n 次(n<...…

  31. Distributed File Storage Technology

    HDFSCephLustreSwiftReference 聊聊主流分布式存储技术的对比分析与应用…

  32. ClickHouse Engines

    Reference Table Engines ClickHouse 表引擎到底怎么选MergeTree Family MergeTree Engine Family MergeTree Data Replication Data ReplicationLog Family Log Engine Family```sqlCREATE TABLE IF NOT EXISTS dlink.bj_all_file_uid( md5 String, filePath Stri...…

  33. Spark Lineage and Tolerance

    Spark Lineage RDDs are immutable distributed collection of elements of your data that can be stored in memory or disk across a cluster of machines. The data is partitioned across machines in your cluster that can be operated in parallel with a lo...…

  34. ElasticSearch

    ElasticSearch Node ElasticSearch NodeNear real-time search Near real-time searchElasticSearch CacheRequestCacheReference 万字长文,理解 Elasticsearch 和面试总结 文件系统缓存,filesystem cache How to give RAM to the filesystem cache Cache 和 Buffer 主要区别是什么? 关于 ...…

  35. MySQL Data Sync

    需求将 Mysql 数据同步到 ElasticSearchMysql 数据同步方案 Elastic Logstash 优点:无侵入性,无需开发,配置即可,标准的ELK技术栈 缺点:实时性不高,定期按条件查询mysql,然后同步数据,有可能会造成资源浪费 Alibaba Canal 优点:成熟的数据库同步方案, 缺点:实时性不高,定期按条件查询mysql,然后同步数据,有可能会造成资源浪费 go-mysql...…

  36. Python 进制转换

    import binasciiimport struct def example(express, result=None): if result == None: result = eval(express) print(express, ' ==> ', result)if __name__ == '__main__': print('整数之间的进制转换:') print("10 进制转 16 进制", end=': ');example("...…

  37. Spark Memory Management

    Spark Memory一个任务提交后,申请的总内存大小为(spark.driver.memory + spark.driver.memoryOverhead) + spark.executor.instances * (spark.executor.memory + spark.executor.memoryOverhead),其中: spark.driver.memory <=> --driver-memory,默认1G spark.driver.memoryOverh...…

  38. 原码补码

    References 原码, 反码, 补码 详解 关于 2 的补码 原码、反码和补码Java 实现 AirflowDagFileLocHashpackage com.sensetime.airflow.sidecar.util;import org.apache.commons.codec.digest.DigestUtils;import java.math.BigInteger;import java.nio.charset.StandardCharsets;import jav...…

  39. Airflow Source Code

    Java 实现 AirflowDagFileLocHashpackage com.sensetime.airflow.sidecar.util;import org.apache.commons.codec.digest.DigestUtils;import java.math.BigInteger;import java.nio.charset.StandardCharsets;import java.util.Arrays;/** * @author zhangqiang * @sin...…

  40. Airflow Commnands

    Usage# 查看支持的 commands$ airflow --helpusage: airflow [-h] {backfill,list_dag_runs,list_tasks,clear,pause,unpause,trigger_dag,delete_dag,show_dag,pool,variables,kerberos,render,run,initdb,list_dags,dag_state,task_failed_deps,task_state...…

  41. Python Web

    Web Server宽泛的讲,Web Server 本质上就是一个应用程序,在 C/S 架构中,用来接收/处理来自 Client 的 Requst,然后返回 Response我们常说的 Apache HTTP / Nginx 严格意义上讲是HTTP Sever,它更侧重于的是 HTTP 协议层面的传输和访问控制,我们知道 HTTP 协议属于应用层,所以这种服务器的主要功能定位是,代理、负载均衡、访问静态资源、文件服务器。它只需要把客户端请求的服务器上的资源返回给客户端就够了。而 Tomca...…

  42. ClickHouse Settings

    Settings Introduction Settings Overview Command-line Client# 查看配置项$ clickhouse-client --help...--max_insert_threads arg The maximum number of threads to execute the INSERT SELECT query. Values 0 or 1 means...…

  43. ClickHouse Exceptions

    ClickHouse 写入数据丢失Backgroud压测时,向 ClickHouse Distrubuted Table 写入 1000W 条相同的数据,查询总数时总是丢数据# Distributed Table DDLclickhouse-3.clickhouse.dlink-prod.svc.cluster.local :) show create table dlink.stress_logSHOW CREATE TABLE dlink.stress_logQuery id: 8b9...…

  44. ClickHouse Basic

    Install Command-line Client Install ClickHouse Command-line Client$ sudo apt-get install apt-transport-https ca-certificates dirmngr$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv E0C56BD4$ echo "deb https://repo.clickhouse.t...…

  45. zsh

    OSX安装 zsh# 方式一:$ brew install zsh # 切换默认 $SHELL$ chsh -s /bin/zsh# 切换回来$ chsh -s /bin/bash# 方式二: curl 代码库克隆到 ~/.oh-my-zsh 下$ sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" Note: 默认 Shell 启用 zsh 后,环境变量等相关配置就要到...…

  46. PostgresSQL

    cli commands# 以当前 Linux 用户名登录数据库,如果是第一次登录一般会让设置密码$ psql# 以管理员用户 `postgres` 登录 cli$ PGPASSWORD=postgresadmin2020 psql -U postgres# 创建数据库用户 dbuser,并设置密码。> CREATE USER dbuser WITH PASSWORD 'password';# 创建数据库,并指定 owner> CREATE DATABASE exampledb...…

  47. Multiple SparkSession for one SparkContext

    Multiple SparkContext For One JVMTo better understand the problem discussed in this post it’s important to define what we’ll discuss about. The first discussion point is SparkContext. Historically it’s an entry point for all Apache Spark pipelines...…

  48. Kafka Security

    Refernece Kafka Security kafka 安全性(译) Kafka 配置 SSL 加密传输Kafka 配置 SSL 加密和认证 生成证书。 创建证书签名请求。 将证书签名请求发送到证书颁发机构 (CA)。 登录到 CA 并为请求签名。 通过scp将签名的证书发回给 Broker 节点。 通过scp将 CA 的公共证书发送给 Broker节点。 获取所有证书后,将证书放入证书存储(keystore)。生成证书和密钥 开启 SSL 加密,首先需要为服务...…

  49. Kafka Streams

    Official Refernces Kafka Streams…

  50. Kafka MirrorMaker

    Official Refernces Kafka MirrorMakerKafka 跨集群同步方案 Kafka MirrorMaker 性能报告 Kafka MirrorMaker 跨集群同步工具详解 kafka MirrorMaker 处理跨机房业务的应用 Kafka 跨集群同步方案 Kafka MirrorMaker使用与性能调优全解析…

  51. Kafka Connect

    Official Refernces Kafka Connect通过 kafka connect 导入/导出数据当需要从其他数据源导入kafka或者将kafka中的数据导入其他数据源,除了通过代码实现,还可以使用kafka connect来导入导出数据,它是一个可扩展的工具,通过运行connector,实现与外部系统交互的自定义逻辑。# 造数据$ echo -e "foo\nbar" > test.txt# 在standalone模式下,启动两个connectors,需要配置三个配...…

  52. Helm

    IntroductionHelm 是 Kubernetes 的包管理工具Prepare提前安装好 kubectl 并且配置好 .kubeInstall Download Helm Initialize HelmCommandsHelps$ helmThe Kubernetes package managerCommon actions for Helm:- helm search: search for charts- helm pull: download a cha...…

  53. Spark Broadcast

    ReferenceSpark2.4 共享变量 - Broadcast 原理分析…

  54. Airflow

    Reference 如何部署一个健壮的 apache-airflow 调度系统Components of AirflowAirflow 有一些重要的组件Metastore DatabaseContains information about the status of Tasks, DAGs, Variables, Connections, etc.WebServer守护进程,使用 gunicorn 服务器(相当于 java 中的 tomcat )处理并发请求,可通过修改{AIRFLOW...…

  55. Develop Vue with VSCode

    Install NodeJS Node.jsNodeJs 会自动安装 js 包管理工具npm,安装的时候注意选择把命令添加到 path 就好了# Usages$ npm -lInstall js package manage tool yarn yarn yarn cli docsyarn 解决了 npm 存在的一些缺陷,编译起来会更快# Usages$ yarn help$ yarn help COMMAND# Configure system path$ export PATH=...…

  56. Metrics and Monitor

  57. Swagger

    Swagger swagger.ioSwagger 是一组开源组件的集合,主要包含 swagger-core: 用于生成 Swagger API 规范的示例和服务器集成,可轻松访问 REST API swagger-ui: 一个无依赖的 HTML、JS 和 CSS 集合,可以为 Swagger 兼容 API 动态生成优雅文档 swagger-editor: Swagger 官方提供的编辑器,用于编写 API 设计文档 swagger-codegen: 通过 Codegen 可以将...…

  58. Ubuntu Remote Desktop

    Windows 远程桌面连接 Ubuntu ECSXRDP# 1. === Connect to remote Ubuntu ECS ===$ sudo apt-get update$ sudo apt-get upgrade -f$ sudo apt-get clean# Remove# $ sudo apt-get remove --purge -y vnc4server tightvncserver xrdp xubuntu-desktop xfce4# VNC (Virtual N...…

  59. Spring WebFlux

    Difference Spring Web (Servlet API) Spring WebFlux WebSocket SupportReference Reactor Core Features: Flux, Mono… Spring WebFlux And The Servlet API Spring WebFlux Web on Servlet Stack Web on Reactive Stack…

  60. Spring Actuator

    Spring Boot Reference Documentation Spring Boot Actuator - Monitoring, Metrics, Auditing, and more. Spring Boot Admin Reference Guide Spring Boot Admin is a web application, used for managing and monitoring Spring Boot appli...…

  61. Spring Cloud Kubernetes

    Reference 为什么 Kubernetes 天然适合微服务?,这篇文章讲的非常好强烈推荐 Spring Cloud Kubernetes spring-cloud-kubernetes官方demo运行实战Starters<!-- It contains 3 dependencies: 1. 服务发现:spring-cloud-starter-kubernetes Discovery Client implementation that resolves ...…

  62. SpringBoot 调用外部 RestFul 接口

    OverviewSpringBoot 调用外部 RestFul 接口,大致有如下几种方式 HttpClient OkHttp RestTemplate Feign最基本的 HttpClient,或者 OkHttp,都需要很长一段代码(或者我直接复制一个类过来),代码复杂、还要担心资源回收的问题。RestTemplate 是 Spring 用于同步 Client 端的核心类,简化了与 HTTP 服务的通信,并满足 RestFul 原则,程序代码可以给它提供 URL,并提取结果。默认情...…

  63. Message Queue

    常见消息队列的区别与选型 特性 ActiveMQ RabbitMQ RocketMQ Kafka 单机吞吐量(单机1秒处理的请求) 万级 万级 十万级 十万级(kafka最大的特点) Topic数量对吞吐的影响     topic可以达到几百、几千个,吞吐量会有小幅度下降 几十到几百个的时候...…

  64. JWT with Spring Security

    Reference rest-security-with-jwt-spring-security-and-java Spring Boot Security + JWT ‘‘Hello World’’ Example…

  65. Filter and Interceptor

    Reference Spring过滤器和拦截器的区别定义过滤器Filter 是 Servlet 的,在JavaWeb中,根据传入的 request、response 提前过滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者struts的action进行业务逻辑,比如过滤掉非法url(不是login.do的地址请求,如果用户没有登陆都过滤掉),或者在传入servlet或者 struts的action前统一设置字符集,或者去除掉一些非法字符。 过滤器是基于函数回调的 过滤器...…

  66. SpringBoot Gitlab CI and Kubernetes Integrate

    .gitlab-ci.ymlConfigure referenceimage: $IMAGE_REGISTRY/workplatform/mvnvariables: DOCKER_DRIVER: overlay NAMESPACE: dlink-test IMAGE_REGISTRY: registry.example.com GIT_SUBMODULE_STRATEGY: recursive GIT_STRATEGY: clone GIT_CHECKOUT: "true" ...…

  67. GitLab CI/CD

    Reference 用GitLab-Runner打造锋利的CI/CDCI CD 持续集成(Continuous Integration)指开发人员在特性分支(频繁)提交代码,立即执行构建和单元测试,代码通过测试标准后集成到主干的过程。强调的是分支代码的提交、构建与单元测试,这个过程的产出是单元测试报告。 持续交互(Continuous Delivery)是在持续集成的基础上,将构建的代码部署到「类生产环境」,完成QA测试之后手动部署到生成环境的过程。强调代码部署,这个过程产出测试报告...…

  68. Avro

    ## Avro Tools# Download$ wget https://repo1.maven.org/maven2/org/apache/avro/avro-tools/1.9.1/avro-tools-1.9.1.jar# Help$ java -jar avro-tools-1.9.1.jar Version 1.9.1 of Apache Avro Copyright 2010-2015 The Apache Software Foundation This ...…

  69. Go Performance Tuning

    Reference Go pprof性能调优 gopherchina-2019 profiling采集性能数据GoLang 内置了获取程序运行时数据的标准库pprof,每隔一段时间(10ms)就会收集程序的堆栈数据,记录各个函数占用内存和CPU情况,最后对这些采样数据进行分析生成报告 runtime/pprof: 用来采集工具类的程序,只运行一次就结束。 net/http/pprof: 用来采集服务类的程序,这种程序往往会一直运行。 采集性能数据最好在负载比较高的情况下进行,不然...…

  70. Go Modules

    介绍# GOROOT 就是 Go 的安装目录,类似于 Java 的 JDKexport GOROOT=/usr/local/go1.16.7# GOPATH 是我们的工作空间,保存 Go 项目代码和第三方依赖包export GOPATH=/Users/zhangqiang/goJava 管理依赖的工具有 Maven、Gradle,而对于 Go,以前(1.13之前)则是依赖GOPATH,GOPATH下有三个目录 $GOPATH/src: go 编译时查找代码的地方,例如import (k8...…

  71. Go Commands

    Usage$ goGo is a tool for managing Go source code.Usage: go <command> [arguments]The commands are: bug start a bug report build compile packages and dependencies clean remove object files and c...…

  72. Mongo Shell Methods

    Mongodb 的 shell 支持原生的 javascript,所以很多 shell 命令和 javascript 类似。基本操作命令 Mongo Shell Methods// 进入MongoDB shell$ mongo// 2、输入help可以看到基本操作命令 :help> > db.help();> db.yourColl.help();> db.youColl.find().help();> rs.help();// 3、查看当前已经存在的数据库...…

  73. Mongo Package Components

    Reference MongoDB Package Components Reference -> MongoDB Package Components -> ...服务启动# 查看帮助$ mongod --help# 删除服务$ mongod --remove# windows service 安装$ mongod --config "C:\Program Files\MongoDB\Server\4.2\bin\mongod.cfg" --install# 启动 Wind...…

  74. Mongo Operators

    Reference Mongo OperatorsOperators 可以理解为 MongoDB 提供的开箱即用的一些基本的”算子参数”,供 MongoDB 的方法识别,去执行相应的任务,可以分为下面几类: Query and Projection Operators:Query operators provide ways to locate data within the database and projection operators modify how data is pr...…

  75. Mongo Database Commands

    Reference Mongo Database Commands…

  76. MongoDB Driver

    Mongo Drivers MongoDB Drivers and ODMScala MongoDB Scala Driver…

  77. Kerberos Exceptions

    现象访问 Kerberos 认证的 HDFS 集群一直org.apache.hadoop.security.AccessControlException: Client cannot authenticate via:[TOKEN, KERBEROS],但是 kerberos 认证已经成功了2019-11-26 22:17:02.724 WARN [main] NativeCodeLoader: Unable to load native-hadoop library for your p...…

  78. Nginx

    Nginx 简介Nginx 是一款轻量级的 Web 服务器、反向代理服务器及电子邮件(IMAP/POP3)代理服务器。相较于 Apache,Apache 是同步多线程模型,一个连接对应一个线程,而 Nginx 是异步的,多个连接(万级别)可以对应一个线程。Nginx 的优势是处理静态请求,CPU、内存使用率低,Apache 适合处理动态请求,所以现在一般前端用 Nginx 作为反向代理抗住压力,Apache 作为后端处理动态请求。Nginx 主要能够代理的协议: http/https (...…

  79. Java Test

    Junit & TestNG A Quick JUnit vs TestNG Comparison…

  80. Java IO

    Reference Spark 为何使用 Netty 通信框架替代 AkkaIO 类型在 Linux 操作系统层面,IO 操作总共有 5 种 阻塞 IO: 阻塞式 IO 操作请求发起以后,从网卡等待(读取数据),数据从内核到用户态的拷贝,整个 IO 过程中,用户的线程都是处于阻塞状态。 非阻塞 IO: 非阻塞与阻塞的区别在于应用层不会等待网卡接收数据,即在内核数据未准备好之前,IO 将返回EWOULDBLOCK,用户端通过主动轮询,直到内核态数据准备好,然后再主动发起内核态数据到用户...…

  81. RPC

    参考RPC 简介RPC(Remote Procedure Call),远程过程调用,允许程序调用位于其他机器上的过程(也可以是同一台机器的不同进程),当 A(RPC Client) 调用 B(RPC Server) 时,A 会被挂起,等待 B 处理结束返回结果给 A,他屏蔽了复杂的序列化反序列化和通信细节,对于编程人员来说,就好像调用了本地的过程一样。随着 RPC 的发展,出现了大量的相关技术,比如 GRPC,Thrift,JSON-RPC,CORBA,Java RMI 等,一般 RPC ...…

  82. Tree

    概念树是图的子集,是一种一定有一个根节点(root)的无环图。Binary TreeBinary Search Tree wikipedia二叉查找树(BST): 要么是一颗空树,否则对于任意节点 若任意节点的左子树不空,则左子树上所有节点的值均小于它的根节点的值 若任意节点的右子树不空,则右子树上所有节点的值均大于它的根节点的值 任意节点的左、右子树也分别为二叉查找树 没有键值相等的节点。中序遍历二叉查找树可得到一个关键字的有序序列,一个无序序列可以通过构造一棵二叉查找树变成一...…

  83. PriorityQueue

    概念队列的特性,FIFO(First in First out)PriorityQueue参考PriorityQueue是从JDK1.5开始提供的新的数据结构接口,它是一种基于优先级堆实现的极大优先级队列。优先级队列是不同于先进先出队列的另一种队列。每次从队列中取出的是具有最高优先权的元素。如果不提供Comparator的话,优先队列中元素默认按自然顺序排列,也就是数字默认是小的在队列头,字符串则按字典序排列(参阅Comparable),也可以根据Comparator来指定,这取决于使用哪...…

  84. BloomFilter

    概念 详解布隆过滤器的原理,使用场景和注意事项Spark 使用布隆过滤器 Spark布隆过滤器(bloomFilter)…

  85. Search Theory

    索引和搜索过程索引过程 有一系列需要被索引的数据文件 被索引的数据文件经过语法分析和语言处理形成一系列词(Term)。 经过索引创建形成词典和倒排索引表。 通过索引存储将索引写入硬盘。搜索过程 用户输入查询语句。 对查询语句经过语法分析和语言分析得到一系列词(Term)。 通过语法分析得到一个查询树。 通过索引存储将索引读入到内存。 利用查询树搜索索引,从而得到每个词(Term)的文档链表,对文档链表进行交,差,并得 到结果文档。 将搜索到的结果文档对查询的相关性进行排...…

  86. ORC File

    参考 https://www.cnblogs.com/ITtangtang/p/7677912.htmlORC 文件存储格式ORC 的全称是(Optimized Row Columnar)…

  87. Oracle

    启动Oracle实例 启动lsnrctl监听 启动数据库实例启动监听su - oracle# 查看启动状态lsnrctl status下面是未启动监听的状态LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 28-FEB-2018 15:53:05Copyright (c) 1991, 2014, Oracle. All rights reserved.Connecting to (DESCRIPTION=(ADDRESS=(P...…

  88. Java Concurrent

    Introduction本篇主要整理 Java 并发编程中的知识点TerminologyThread.State 版本: oracle jdk1.8package java.lang;publicclass Thread implements Runnable { ... /** * A thread state. A thread can be in one of the following states: * <ul> * <l...…

  89. Java Develop Plugins

    Lombok juejin.im/post/5b00517cf265da0ba0636d4b引入依赖<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.18</version> <scope>provided</scope></d...…

  90. Java Options

    Java 命令使用介绍$ info javaCommon parameter理论上来说,虚拟机的堆大小只会受到虚拟内存地址空间大小(比如32位最大是4G)的限制。那么,什么时候操作系统才会真的分配物理内存给虚拟机呢?答案就是,在内存第一次被使用的时候。这个使用并不是说我新建了一个对象,然后操作系统就唰的把所有物理内存分配好了,它只是按照虚拟机的需求,分配了一点点。(实际上是,只是把使用到的这部分内存按照页映射到了物理内存上)# 操作系统在虚拟机启动的时候就直接完成物理内存的绑定-XX:+A...…

  91. Spark Execution Process

    介绍通过详细拆解 spark log,来了解 spark 程序从提交到执行结束所经历的整个过程。其中-是我的注释,不是输出日志Spark on YARN19/04/25 11:27:30 WARN Spark$: ..................... 我佛慈悲 ..................... _oo0oo_ o6666666o 66" . "66 ...…

  92. GRPC

    参考 gRPC 官方文档 gRPC 中文文档 gRPC 学习笔记 深入浅出 gRPC01: 服务端创建和调用原理重要概念Client Stub & Server Skeleton翻译过来就是客户端存根&服务器框架,这两个东西分别封装了用户去调用远程方法的客户端与服务端封装 args message,发送消息,接收消息,解析 args message,执行方法,返回数据,接收返回数据的具体细节。常见异常Stream Errorhttps://github.com/gr...…

  93. Ranking Theory

    信息检索 Stanford - Information Retrieval检索模型搜索结果的排序是搜索引擎最核心的部分,这就牵扯到用户查询条件和文档内容相关性的分析,对许相关性的分析,依赖于搜索引擎才用的检索模型。最重要的检索模型有,布尔模型,向量空间模型,概率模型,语言模型,机器学习排序算法。 Lucene TF-IDF Similarity Queries as vectors Computing vector scores Efficient scoring and ran...…

  94. HBase Summary

    概述本篇文章收录了网上 HBase 相关的知识点,用于更好的整理和理解 HBase。WAL HBase中WAL(Write-Ahead-Log)的特性与场景分析Summary HBase抗战总结 - 阿里巴巴HBase高可用8年抗战回忆录 HBase 内存管理 HBase内存管理 - MemStore进化论HBase Region Split & Compaction HBase Region Split Compaction 过程分析以及调优…

  95. Spark SQL Configurations

    查看 Spark SQL 详细配置项及其介绍val sparkSession = SparkSession.builder.getOrCreatesparkSession.sql("set -v").show(1000, truncate=false)关闭 spark-sql cli console 日志$ vim ~/spark-sql-log4j.properties# Set everything to be logged to the consolelog4j.rootCatego...…

  96. Spark DataSource

    Spark2.4.0 DataSource 源码object DataSource extends Logging { /** A map to maintain backward compatibility in case we move data sources around. */ // 笔者注: 这里就是 DataReader/DataWriter 所支持的所有 source format 实际对应的 Format 类 private val backwardCompatib...…

  97. RocksDB

    常见 KV Store常见kv存储有 基于内存的 redis 基于单机磁盘的 leveldb、rocksdb 分布式(超过 TB 级别的) cassandra、hbaseRocksDB RocksDB RocksDB 中文网 RocksDB 引擎: 5分钟全面了解其原理 RocksDB 笔记 Overview 深入理解什么是LSM-Tree Rocksdb 写流程,读流程,WAL文件,MANIFEST文件,ColumnFamily,Memtable,SST文件原理详解安...…

  98. Redis 事务与 Pipeline

    原生事务val redis = Redis.getRedisClient()// 开启事务redis.multi()redis.set("1", "1")redis.set("2", "2")// 执行事务redis.exec()Pipelineval redis = Redis.getRedisClient()val pipeline = redis.pipelined()pipeline.set("1", "1")pipeline.set("2", "2")// flush &...…

  99. HBase Phoenix SQL

    HDP 开启 PhoenixHBase->Configs->Phoenix SQL->Enable Phoenix建议修改配置项# hbase regionserver wal 编码,默认 org.apache.hadoop.hbase.regionserver.wal.WALCellCodechbase.regionserver.wal.codec = org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCode...…

  100. 数据压缩

    Snappy不是压缩比最高的方法,但是性能很好,API 简单。另外如果压缩的数据特别少的话(比如几十个字符),反而增大数据体积,测试5000+字符下有50%的压缩比。参考Google Snappy GithubGoogle Snappy third partiesSnappy Javamaven<!-- https://mvnrepository.com/artifact/org.xerial.snappy/snappy-java --><dependency> ...…

  101. Redis Memory Optimization

    参考 Redis 开发与运维 - 付磊、张益军RedisObjectRedis 中的所有值对象在 Redis 内部定义为RedisObject,理解RedisObject对内存优化很有帮助,一个RedisObject包含下面几个属性: type: 对象所属类型,string、list、hash、set、zset,占4位。 使用type {key}查看对象所属类型,type命令返回的都是值对象的类型,键都是string类型的。 encoding: 对象所属类型的内部编码,占4位。这一块...…

  102. Redis Conf

    # Redis configuration file example.## Note that in order to read the configuration file, Redis must be# started with the file path as first argument:## ./redis-server /path/to/redis.conf# Note on units: when memory size is needed, it is possible t...…

  103. Redis Dump 文件分析

    downloadrdb 文件分析工具redis-db-tools页面管理工具,免费版本的功能会有所限制manager-tools-gui$ wget -O rdbtools "https://binaries.rdbtools.com/v0.9.33/rdbtools-linux64-v0.9.33" \ && sudo mv ./rdbtools /usr/local/bin/ \ && sudo chmod +x /usr/local/bin...…

  104. Flink

    Flink 简介Flink 作为流计算引擎的优点 Low Latency Exactly Once 流批统一 可以支持足够大数据量和复杂计算不同于 Spark,Flink 是一个真正意义上的流计算引擎,和 Storm 类似,Flink 是通过流水线数据传输实现低延迟的流处理;Flink 使用了经典的Chandy-Lamport 算法,能够在满足低延迟和低 failover 开销的基础之上,完美地解决 exactly once的目标;如果要用一套引擎来统一流处理和批处理,那就必须以流...…

  105. Kerberos Authentication

    前要为了更好的理解 Kerberos 认证的原理,先了解加密相关的一些重要的基本概念 Symmetric-key algorithm:对称密钥算法,又称对称加密算法,私钥加密,共享密钥算法。具体的加密原理可以参考《密码学安全算法-对称加密》。这里只说整个加密过程中涉及的几个概念: 明文:需要被加密的原始数据 加密算法:对明文进行各种替换或者转换操作的一种算法。 密钥(Key):密钥也是加/解密算法的输入之一,对明文进行的替换或者转换操作就依赖密钥,比如加密算法是明文 & 密...…

  106. Spark Streaming Kafka Integration

    Reference Spark Streaming + Kafka Integration Guide (Kafka broker version 0.10.0 or higher) Kafka configurations…

  107. Redis 常用命令

    参考 https://blog.csdn.net/xusir_1/article/details/80272819 https://redis.io/commands基本类型redis 中的table是以key的形式存在的,key可以分为五种类型 string: 字符串 hash: 哈希 list: 列表 set: 集合 zset: 有序集合(sorted set)后面又增加了 bit arrays (或者说 simply bitmaps) 在 2.8.9 版本又添加了H...…

  108. YAML

    InstructionYAML 是一种比其他常见数据格式(如XML或JSON)更易于读写的文件格式。official referenceCollectionsYAML的块集合使用缩进限定范围并在其自己的行上开始每个元素。序列用短划线和空格- 表示每个元素。映射使用冒号和空格:来标记每个键值对。注释以井号开头(也称为octothorpe,hash,sharp,pound或number sign - #)。List- Mark McGwire- Sammy Sosa- Ken GriffeyM...…

  109. Kubernetes Exceptions

    kubectl 异常no resource found# 执行 kubectl 命令时出现下面的 errorNo resources found.Error from server (NotAcceptable): unknown (get pods)# 原因:尽管 kubernetes 一直说要将 kubectl 更新到最新以防出现未预期的错误,# 但是版本差太多一样会出现问题。比如:$ kubectl versionClient Version: version.Info{Major:...…

  110. Kubectl

    Start Install and Set Up kubectlInstall 直接下载安装 kubectl client# OSX$ brew insatll kubernetes-cli 下载 binary release,通过这种方式可以下载历史版本的 kubectl# OSX$ curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.11.0/bin/darwin/amd64/kubectl#...…

  111. Hive Exceptions

    HDFS 对应分区目录下有数据文件,但是 Hive 查不到数据Hive 查询数据会先查找 metastore,然后根据 metadata 去读取 warehouse 中的数据文件,如果直接将数据文件放到对应 hdfs 目录下,而没有更新 metadata 的话就会出现这种问题。# 查看 Hive metastore,是否对应的分区信息mysql -u hive -pmysql> select * from hive.PARTITIONS;+---------+------------...…

  112. HDP

    Ambari 安装各组件的目录结构ambari 通过 rpm 安装,所有组件的配置文件都可以在/etc下查看,例如/etc/kafka,这里面都是建立的软连接,实际的安装目录在/usr/hdp下,而CDH是/opt/cloudera。各组件的日志默认在/var/log下,这个和 CDH 是一样的。具体的日志可以查看各组件日志相关的参数配置以及log4j配置。离线安装Ambari installationUsing a Local Repositorydownload apache http...…

  113. HDFS

    HDFSHDFS 是 Hadoop 的分布式文件系统的实现,主要包含 NameNode SecondaryNameNode DataNode JournalNodeHDFS Components and Architecture HDFS Architecture 兄弟,用大白话告诉你小白都能看懂的 Hadoop 架构原理NameNodeThe NameNode manages the filesystem namespace. It maintains the filesys...…

  114. 端口转发直连内网服务器

    Reference SSH隧道应用, 突破网络限制 SSH隧道:内网穿透实战Mac 下载 secureCRT为什么不是 XShell?因为特么的没有 Mac 版本的 XShell问题我们现在有一台有公网权限的节点(11.22.33.44),即跳板机,它既可以访问内网也可以访问外网。然后有一台没有外网权限的节点(192.168.10.1)。正常来讲我们需要ssh到跳板机,然后再通过ssh内网中的机器再进行操作。现在我们想通过一次ssh直接访问内网机器,那怎么办?配置登陆密钥菜单栏 Sec...…

  115. Logstash

    Logstash Logstash Reference Logstash config-setting-files Install Download Logstash Logstash Directory LayoutConfig yaml# RPM Install$ vim /etc/logstash/logstash.yml# TAR Install$ vim ${LOGSTASH_HOME}/config/logstash.ymlPlugin Con...…

  116. FileBeat

    原理FileBeat 由两个重要的组件构成,inputs和harvesters,这两个组件从尾部读取数据,然后将数据发送到指定的outputsharvestersharvesters负责逐行读取单个文件的内容,并将读取的数据发送到output。每个文件都会启动一个harvesters,并由harvesters负责打开和关闭文件。由于文件描述符在harvesters运行时会一直保持在打开状态,因此,如果文件在被收集时被删除或者重命名,FileBeat 仍然会读取该文件,即在harvester...…

  117. FileBeat Configuration

    Referencehttps://www.elastic.co/guide/en/beats/filebeat/current/filebeat-reference-yml.htmlFileBeat configurations######################## Filebeat Configuration ############################# This file is a full configuration example documenting a...…

  118. Java Hash

    Java Map 中的 hash()https://www.cnblogs.com/skywang12345/…

  119. Java Technology and the JVM

    ReferencesOfficial The Java® Language Specification - Java SE 8 Edition The Java® Virtual Machine Specification Java SE 8 Edition Java Platform, Standard Edition Documentation - Multiple Releases Portal(JDK 7 - 13) Java Language and Virtual Ma...…

  120. Java Exceptions

    Common ExceptionsCommon Java ExceptionsJVM ExceptionsOutOfMemoryError: GC Overhead Limit ExceededGC Overhead Limit Exceeded直译过来就是,超出垃圾收集的开销上限。OutOfMemoryError是java.lang.VirtualMachineError的子类,当 JVM花费太多时间执行垃圾收集并且只能回收非常少的堆空间时,就会发生错误,说明 JVM 内存耗尽了,根据 ...…

  121. JProfiler

    安装注册https://www.ej-technologies.com/download/jprofiler/files# 注册码 for 10.x 版本L-0QhOwKlb3f-ejyjdgVCyJ#18150S-Pny9cqLTq8-Nv8ybeLI9g#2207L-JrWzVKm0RL-TCTPvmtOzb#35244S-aVYVZrYIQ3-fLCoEBqrqo#10283L-r8T6zhTyWK-J63f4KylQ8#28145L-UDtmKp7as4-AAdnnklZ3F#21...…

  122. Neo4j

    安装downloadoperations-manual# 确保安装了 jdk# 修改配置文件$ vim conf/neo4j.conf# cofigure ip/hostdbms.connectors.default_advertised_address=192.168.51.100# To accept non-local connections, uncomment this line:dbms.connectors.default_listen_address=0.0.0.0# 启动...…

  123. Docker 入门

    下载 Docker Community Engine Download Docker-CE-Desktop-Windowsdocker 命令 Docker run reference帮助# 查看 docker 命令的 options 和 command$ docker --help# 查看具体 command 的使用方式$ docker command --help查看 docker 容器信息# 查看 docker 所有容器和镜像的数量、docker 使用的执行驱动和存储驱动以及 d...…

  124. YARN

    YARN ComponentsYARN 的组件: ResourceManager(Master) NodeManager(Slave)YARN ScheduleCommon Properties hadoop-yarn-common/yarn-default.xml# YARN 程序依赖的路径yarn.application.classpath /conf,/*,...# YARN nodemanager 日志存放路径,对应 Spark standalone Env : SPARK...…

  125. Maven Nexus Repo

    搭建前的准备Nexus Repository OSS 下载地址阅读官方文档搭建本文记录的是 CentOS 7.4 上搭建 Nexus Repository Manager OSS 3.x 的过程,其他版本的搭建需要参考官方文档相应版本的说明!JDK必须是 Oracle JDK 1.8, Open JDK 不行!添加用户并赋予权限useradd nexus tar -zxvf nexus-3.12.0-01-unix.tar.gz -C /home/nexusvisudo nexus ...…

  126. CDH

    系统环境准备网络配置所有节点都需要进行以下配置# 修改主机名vi /etc/sysconfig/networkNETWORKING=yesHOSTNAME=n1# 重启网络生效service network restart# 修改ip与主机名关系vi /etc/hosts10.4.121.79 n110.4.121.80 n210.4.121.81 n3主节点配置到所有节点的 ssh 免密登陆安装 Oracle JDKNTP 时间同步安装 MysqlCloudera Manager下...…

  127. Spark Shuffle

    参考 what is shuffle read shuffle write in apache spark spark shuffle introduction nsdi spark 一篇文章了解 Spark Shuffle 内存使用 Shuffle Write解析 (Sort Based Shuffle)Spark Memory 管理Executor中的内存由MemoryManager统一管理,当一个Task被分配到某个Executor上时,会为该Task创建一个TaskMem...…

  128. Spark Job Optimization

    References Tuning Spark Apache Spark Memory Management Apache Spark 2.0 作业优化技巧reduce task 数目不合适调整分区数,设置为core数目的2-3倍,太少运行缓慢或者单个任务太大导致内存不足,数量太多,造成任务太小,增加启动任务的开销,因此需要合理的修改reduce task的数量spark.default.parallelism 800shuffle io 磁盘时间长设置多个磁盘,并且设置 io 最快...…

  129. Spark Configuration

    SparkCore Config 源码// 定义了 Spark Core 的配置属性org.apache.spark.internal.config参考 Spark Configuration指定 Spark ConfigurationSpark Configuration Properties 可以在三个地方进行配置,优先级依次增加。spark-defaults.conf在配置文件中指定全局的参数,优先级最低$ vim SPARK_HOME/conf/spark-defaults.co...…

  130. Spark Common Exceptions

    Spark NPE 嵌套使用了 RDD 操作,比如在一个 RDD.map 中又对另一个 RDD 进行了 map 操作。主要原因在于 Spark 不支持 RDD 的嵌套操作。 在 RDD 的算子操作中引用了 Scala object 的非原始类型(非int、long等简单类型)的成员变量。Scala object 的成员变量默认是无法序列化的。解决方法:可以先将成员变量赋值给一个临时变量,然后使用该临时变量即可Task not serializable redis-on-sparkta...…

  131. Hive Basic

    参考 官方手册Hive Tutorial 官方手册Hive LanguageManual数据单位按粒度从大大到小Databases数据库限定一个命名空间,这样就可以避免表、视图、分区、列的命名冲突。也可以限定一组用户的访问权限。Tables具有相同模式(Schema)的同类数据构成的集合,存储到一张表中。例如一张表的模式包含userid、username、password、datetime等列。Partitions表可以用一到多个partitionKeys决定数据的存储方式。Parti...…

  132. HBase Integration

    参考官方手册StorageHandlersStorageHandlers 是 Hive 的一个独立的模块,以模块化,可扩展的方式访问由其他系统(HBase、Kafka、JDBC…)存储和管理的数据。Terminology在 StorageHandlers 之前,Hive 的表可分为: managed tables:在 Hive Metastore 中进行管理的表,以及由 Hive 负责其数据存储的表。 external tables:由某个外部目录或系统进行管理的表,这些表并不属于 H...…

  133. SkipList

    SkipList 跳表对于二分查找算法,底层依赖的是数组随机访问的特性(连续内存,元素固定大小),因此只能用数组来实现。对于存储在链表中的数据,对链表稍加改造,改造成 SkipList,就可以支持类似”二分”的查找算法。跳表是一种各方面性能都非常优秀的动态数据结构,可以支持快速的插入、删除、查找操作,写起来也不复杂,甚至可以替代红黑树(Red-black tree)。Redis 中的 Sorted Set(ZSet) 默认使用 zipList 编码存储数据,实现内存数据压缩,但当数据量超过...…

  134. Spark JDBC 调优

    JDBC 调优Spark 通过 JDBC 读取关系型数据库,默认查全表,只有一个task去执行查询操作,效率可想而知。首先从官网粘几个重要的参数项: Property Name Meaning url The JDBC URL to connect to. The source-specific connection properties may be specified in the URL. e.g., jdb...…

  135. Spark SQL

    Reference Spark SQL, DataFrames and Datasets GuideSQLConf 源码// 定义了 SparkSQL 的配置属性org.apache.spark.sql.internal.SQLConforg.apache.spark.sql.internal.StaticSQLConfSparkSQL Functions SparkSQL Functions Complete Built-in Functions API DocumentSpark...…

  136. Spark SQL Exceptions

    SparkSQL ExceptionsSparkSQL 创建表时指定 location 会默认删除该目录下的 db 文件夹,导致整个 hive 中的数据全部被清空。def main(args: Array[String]): Unit = { def getSparkSession(appName: String, conf: SparkConf = new SparkConf, enable...…

  137. HBase Exception

    java.lang.NoClassDefFoundError: com/yammer/metrics/core/Gauge18/05/03 16:44:41 INFO RpcRetryingCaller: Call exception, tries=11, retries=31, started=48412 ms ago, cancelled=false, msg=com.google.protobuf.ServiceException: java.lang.NoClassDefFound...…

  138. HBase APIs

    Scala or Java clientDependenciesMaven<dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-client</artifactId> <version>1.3.1</version></dependency>SBTlibraryDependencies += "org.a...…

  139. Java Design Patterns

    简介 设计模式(45 种)设计模式总结为下面的几大类创建型模式(Creational Patterns)提供一种在创建对象的同时隐藏创建逻辑的方式,而不是使用new直接实例化对象,根据给定条件创建相应的对象,更灵活。 工厂模式(Factory Pattern) 抽象工厂模式(Abstract Factory Pattern) 单例模式(Singleton Pattern) 建造者模式(Builder Pattern) 原型模式(Prototype Pattern) 对象池模式...…

  140. Python Exceptions

    certificate verify failed在使用pip安装requests包的时候出现下面的问题:Could not fetch URL https://pypi.python.org/simple/requests/: There was a problem confirming the ssl certificate: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749) - skippi...…

  141. ElasticSearch APIs

    声明本文章是作者在阅读官方文档时的整理,因为作者水平有限,可能会有理解或翻译的不正确的地方,可以在下方留言ElasticSearch APIs Introduction用户和 ElasticSearch 交互的方式有两种,可以使用 ElasticSearch 的 Java Client,或者使用 RESTful API with JSON over HTTP。 Elasticsearch ClientsJava API (Deprecated)Java API,主要分为两种: 节点客户...…

  142. ElasticSearch Exceptions

    ElasticSearchCannot determine write shards…org.elasticsearch.hadoop.EsHadoopIllegalArgumentException: Cannot determine write shards for [SafetyCenter_YBRZ/docs]; likely its format is incorrect (maybe it contains illegal characters?)at org.elastics...…

  143. Zookeeper

    简介Zookeeper 的数据结构类似 Linux 文件系统对于 Zookeeper 的每一个节点,节点一定有值,没有值是没有办法创建成功的,可以指定为空串。Zookeeper 为程序提供节点的监听服务(类似数据库触发器,当数据发生变化,会通知客户端程序)Install# Download$ wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.6.1/apache-zookeeper-3.6.1-bi...…

  144. SBT

    配置国内镜像$ vim ~/.sbt/repositories[repositories] local aliyun: https://maven.aliyun.com/nexus/content/groups/public/ central: https://repo1.maven.org/maven2/ custom: http://custom.company.com/nexus/content/groups/public/…

  145. Kubernetes

    Reference dockone.io kubernetes.ioUseful Reference Kubernetes API Reference Index,包含了apiserver可操作的所有 API 介绍 kubernetes-api/v1.20 Overview Overview what is kubernetes? Kubernetes Components The Kubernetes API ...…

  146. 动态规划

    Dynamic Programming 动态规划的意义是什么?LevenshteinLevenshtein 距离,又叫编辑距离(Edit Distance),指从一个字符串转成另一个字符串所需要最少编辑次数。编辑距离越大,说明两个字符串越不相似。编辑操作包括插入、删除、替换字符。举个例子:sitting -> kittenkitting (s -> k)kitteng (i -> e)kitten ( <- g)相似度计算公式为1 - editDista...…

  147. Hive Install

    搭建前的准备首先得搭建好Hadoop,可以参考之前的博客Hive版本:apache-hive-2.3.2-bin.tar.gz。点击下载。 官方手册清单(目录) 官方手册开始 Hive 安装和配置 官方手册LanguageManual 语法 参考博客Hive 的几种内置服务 参考博客Hive-Metastore 及其配置管理 参考博客Hive metastore 三种配置方式安装过程解压$ tar -xzvf hive-2.3.2.tar.gz -C /home/hadoop/...…

  148. Hive 集群间数据迁移

    使用 hadoop distcphive 元数据和真实的数据是完全分离的,因此迁移分为两个部分: 元数据迁移: 把所有 Hive 表的建表语句写入/tmp/schema.sql(当然你也可以 dump mysql 元数据,这样你就不用把建表语句 copy 出来了) 真实数据迁移: Hive 数据通过hadoop distcp在不同 hdfs copy 真实数据 # 语法hadoop distcp [options] source destination# 查看帮助$ hadoop...…

  149. Hadoop Install

    搭建前的准备本次搭建 Hadoop 版本是 hadoop2.7.7-release,点击下载安装包。伪分布式集群搭建参考,官方文档搭建过程新建hadoop用户useradd hadoop# 为hadoop用户分配sudo权限visudo# 添加如下内容hadoop ALL=(ALL) NOPASSWD: ALL# 设置hadoop密码passwd hadoop将下载好的hadoop-2.7.7.tar.gz包解压到/home/hadoop/。su - hadoop tar -z...…

  150. Scala 算子执行顺序

    遇到的问题在try语句中的flatMap()做写入数据库的操作,在finally中执行Connection.close()方法释放资源,结果出现了ConnectionClosedException。先验知识 Scala 的finally语句块默认没有返回值(返回值类型为Unit),除非显示使用return关键字。 try和catch块中的最后一行默认是返回值,并且返回值会先暂存到缓存中,等待finally中的语句执行完之后再执行。即try catch finally+return的执行...…

  151. 名词解释

    RAWGraphGephi 关注图谱ROLTPOLTP(online transaction processing)联机事务处理:传统的关系型数据库,主要应用于基本的、日常的事务处理,例如银行交易。OLAPOLAP(online analytical processing)联机分析处理:数据仓库的核心部分,专门为复杂的分析操作设计,侧重与对决策人员和高层管理人员的决策支持,提供直观易懂的查询结果。Greenplum dbMMPMMP可扩展的大规模并行数据仓库解决方案编译和解释的区别?编译器...…

  152. ElasticSearch Cluster Install

    Elastic Stack and Product IntroductionElastic Stack 产品说明,重要指数 ★★☆Elastic Stack 链接目录,包含各种产品的使用手册,例如:ElasticSearch权威指南(英文)、ElasticSearch使用手册、Kibana使用手册等等。重要指数 ★★★★★ELK简介 E: ElasticSearch 基于Luence构建的开源、分布式、RESTful接口全文搜索引擎,它还是一个分布式文档数据库,其中的每个字段都是被索引的...…

  153. Scala

    变量Scala中包含两种类型的变量:可变变量和不可变变量。分别用var和val定义。可变变量就和java中的对象变量一样,变量被赋值之后仍然随着程序的运行而改变。var str = "abc"str = "def"而不可变变量就相当于java中被final修饰的变量,一旦被赋值就不可以再修改。val str = "abc"// 不能再修改它的值!会报错str = "def"编译报错:Error:(43, 7) reassignment to val sum = "edf"需要特别注意的是...…

  154. OSI 模型、TCP/IP 协议栈

    OSI 标准模型和 TCP/IP 协议模型OSI(Open System Interconnection,开放式通信互联) 是由 ISO(International Organization for Standardization,国际标准化组织) 制定的标准模型。旨在将世界各地的各种计算机互联。然而,OSI 模型过于庞大、复杂。参照此模型,技术人员开发了 TCP/IP 协议栈,简化 OSI 七层模型为 TCP/IP 四层模型。获得了更广泛的使用。OSI 模型和 TCP/IP 模型对比:从...…

  155. pykafka

    pykafkapykafka是python(python 2.7+ 、python3.4+ 和PyPy)连接kafka(>=0.8.2)的client。常用的还有kafka-python。pykafka相较于kafka-python生产者的效率会更好一些(网上有的帖子看到的,并没有亲自验证过),因为只是用将爬虫爬取的数据作为生产者写入kafka,后续是Spark Streaming作为消费者,所以选择研究pykafka。官方文档地址:http://pykafka.readthedoc...…

  156. HTTP 协议

    HTTP 协议HTTP 是 Hyper Text Transfer Protocol(超文本传输协议)的缩写。它的发展是万维网协会(World Wide Web Consortium)和 Internet 工作小组 IETF(Internet Engineering Task Force)合作的结果,(他们)最终发布了一系列的 RFC,RFC 1945 定义了 HTTP/1.0版本。其中最著名的就是RFC 2616。RFC 2616 定义了今天普遍使用的一个版本 —— HTTP 1.1。H...…

  157. 生产者和消费者

    生产者APIimport org.apache.kafka.clients.producer.KafkaProducer;import org.apache.kafka.clients.producer.Producer;import org.apache.kafka.clients.producer.ProducerRecord;import java.util.Properties;public class ProducerMain { public static void ma...…

  158. Kafka 集群管理

    Reference Official DocumentationKafka Tools 管理工具 6.1 Basic Kafka Operations Note: 不同版本间参数变动较大,命令具体参数使用需要查看相对应版本的命令使用,例如老版本(0.9之前) offset/group metadata 是默认存储在 zookeeper 中的(i.e. offsets.storage=zookeeper),因此指定地址的时候使用--zookeeper指定 zookeeper 地址,而新...…

  159. Kafka 集群搭建

    基本概念 Broker: 服务代理。实质上就是kafka集群的一个物理节点。 Topic: 特定类型的消息流。”消息”是字节的有效负载(payload),话题是消息的分类的名或种子名 Partition: Topic的子概念。一个Topic可以有多个Partition,但一个Partition只属于一个Topic。此外,Partition则是Consumer消费的基本单元。消费时。每个消费线程最多只能使用一个Partition。一个topic中partition的数量,就是每个use...…

  160. Kafka 消息机制

    Kafka 消息丢失情况分析消息生产端Kafka Producer 消息发送(producer.type)有两种,sync和async,默认是同步sync,而如果设置成异步async,生产者可以以 batch 的形式批量 push 数据,这样可以减少网络和磁盘 IO 的次数,以少量的延迟换取 broker 的吞吐量,但同时也增加了丢失数据的风险。producer.type=async下,相对应的几个参数 queue.buffering.max.ms(default:5000) 启用异步模...…

  161. Kafka Configurations

    Reference Official Documentation ConfigurationBroker Configs Broker Configs…

  162. SparkStreaming

    SparkStreaming 介绍SparkStreaming 是 Spark-core API 的扩展,对实时数据流(live data streams)提供可扩展(scalable)、高吞吐(high-throughput)、容错(fault-tolerant)的流处理方法。SparkStreaming 可以从许多数据源提取数据,例如Kafka、Flume、Kinesis、TCP sockets。可以用像map、reduce、join、window这样的高级方法,配合 MLlib 和 ...…

  163. Pregel API

    Pregel 介绍谷歌公司在2003年到2004年公布了GFS、MapReduce和BigTable,成为后来云计算和Hadoop项目的重要基石。谷歌在后Hadoop时代的新”三驾马车”——Caffeine(大规模网页索引构建,即爬虫)、Dremel(实时交互式查询,PB级数据2-3秒即可给出查询结果)和Pregel,再一次影响着圈子与大数据技术的发展潮流。Pregel是一种基于BSP模型实现的并行图处理系统。为了解决大型图的分布式计算问题,Pregel搭建了一套可扩展的、有容错机制的平台...…

  164. settings.xml

    Maven pom.xml POM ReferenceMaven settings.xml Settings Reference除了pom.xml外,maven还有一个很重要的xml文件,其中包含了全局的各种配置项,具体配置项的含义如下。原文链接<project xmlns="http://maven.apache.org/POM/4.0.0 " xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance " ...…

  165. Maven

    Reference maven documentationBasic ConceptsCompileCompile:将源代码转换成机器识别的机器语言的过程,就叫做编译。而对于Java而言,编译阶段会将Java源码转换成JVM识别的字节码,然后由JVM将字节码翻译成机器识别的机器码,这两个过程合并后就相当于传统编译器执行的编译过程。也正是有了JVM,Java会有良好的跨平台和可移植性。对于java应用程序,IDE一般都会提供三个功能:Compile、Make、Build,它们三个完成的功能...…

  166. Python Logging

    logging 默认配置import logging logging.debug('debug message') logging.info('info message') logging.warning('warning message') logging.error('error message') logging.critical('critical message') 输出结果WARNING:root:warning messageERROR:root:error me...…

  167. Chrome Extensions Develop

    需求浏览器点击页面元素返回页面元素的xpath表达式Chrome Extensions 开发文档(360翻译)中文开发文档地址代码实现// 获取xpath表达式function readXPath(element) { if (element.id !== "") {//判断id属性,如果这个元素有id,则显 示//*[@id="xPath"] 形式内容 return '//*[@id=\"' + element.id + '\"]'; } //这里需要需...…

  168. Python Package

    Create venv# 安装 python 开发依赖,避免安装依赖时出现类似 command 'x86_64-linux-gnu-gcc' failed 的错误$ sudo apt install python3.8-pip python3.8-dev build-essential libssl-dev libffi-dev python3.8-setuptools# 安装 venv 配置包$ sudo apt install python3.8-venv# 创建项目$ mkdir ~...…

  169. Python Basic

    Python ScriptPython通过编写脚本来执行程序,Python脚本以.py为扩展名,.pyw代表后台运行的Python文件。print 'hello python`将代码保存在test.py中,在linux shell中使用python命令执行脚本。python test.py可以在脚本文件中指定python解释器所在的路径,以可执行文件的方式执行脚本方式1:直接指定解释器所在的绝对路径#!/usr/bin/pythonprint 'hello python`方式2:告知pyt...…

  170. Spark-redis整合

    简介spark-redis 是为了让spark更简单的操作redis的各种集合spark-redis使用入门github地址下载并安装 Maven解压sudo mv -rf apache-maven-3.5.0-bin.tar.gz /usr/local/sudo tar -zxvf apache-maven-3.5.0-bin.tar.gz rm apache-maven-3.5.0-bin.tar.gz配置maven环境变量MAVEN_HOME=/usr/local/apache-ma...…

  171. Json和Json字符串的相互转换

    JS对象转换成JSON字符串// 声明一个 js 对象var jsonObj = {}; jsonObj.testArray = [1,2,3,4,5]; jsonObj.name = 'jsonObj'; // jsonObj.toString() 无效,需要使用下面的方法var jsonStr = JSON.stringify(jsonObj); alert(jsonStr); // 输出 {"testArray":[1,2,3,4,5],"name":"jsonObj"}下...…

  172. MongoDB 文档类解析

    MongoDB 文档Java Driver 中有这么几个类和接口来表示Bson文档BsonDocument虽然对于用户来说,一般使用驱动的高阶API,不使用这个类,但是BsonDocument类对于驱动程序在内部管理文档至关重要。BsonDocument类可以表示任何具有安全类型的复杂的动态结构化文档。例1:{ "a" : "MongoDB", "b" : [ 1, 2 ] }可以用BsonDocument表示为:new BsonDocument().append("a", new...…

  173. Chrome Driver

    版本对应信息chrome driver 版本支持的Chrome版本 代码 说明 v2.33 v60-62 v2.32 v59-61 v2.31 v58-60 v2.30 v58-60 v2.29 v56-58 v2.28 v55-57 ...…

  174. Portia

    介绍portia 是 scrapinghub 的一个基于 Scrapy 的开源可视化爬虫项目。scrapinghub附上链接平台链接:scrapinghub platform使用手册:documentation…

  175. Scrapy初探

    教学地址创建scrapy项目# 安装scrapy$ pip install scrapy# 或者下载安装文件,https://pypi.python.org/pypi/Scrapy# 安装文件包含两种,.whl(Python Wheel)和.tar.gz(source)$ pip install Scrapy-1.4.0-py2.py3-none-any.whl# 在windows下还需要安装pywin32,注意版本要和Python的版本一致,包括Python的位数,# 例如32位Pyth...…

  176. Oracle-PLSQL 安装与配置

    Windows instant client configure下载地址:http://www.oracle.com/technetwork/cn/database/features/instant-client/index.html下载清单 下载 instantclient-basic-nt-11.2.0.4.0.zip 下载 instantclient-sqlplus-nt-11.2.0.4.0.zip 下载 instantclient-tools-nt-11.2.0.4.0.z...…

  177. 挖掘频繁模式与关联关系

    概念首先频繁项集挖掘和关联关系分析和聚类算法一样属于无监督学习。本章节主要讲解下面会用到的一些重要概念与名词解释,先熟悉一下有助于理解算法过程。频繁模式:模式可分为项集、子序列。假设数据库中有100条交易记录,其中80条交易记录中都包含牛奶和面包。牛奶和面包的组合就称为项集,频繁出现在数据库记录中的项集,就称为频繁项集。而如果项集是有先后顺序的,如先购买 PC 再购买键盘,那么 PC 和键盘的组合就称为子序列,同理频繁出现在数据库中的子序列就是频繁子序列。频繁项集和频繁子序列统称为频繁模式...…

  178. Git Commands

    教程参考 Git Reference Manual Pro Git - Scott Chacon & Ben Straub Become a git guru Git scm 一张脑图带你掌握Git命令查看命令介绍# 查看$ git命令介绍$ git [command] -h,--helpGit 的大致流程Git 的三种内部状态管理机制要理解 Git 的原理,我们就需要了解 Git 的三种内部状态管理的机制 The Working Directory -> Wo...…

  179. Redis安装、集群搭建

    redis单节点的安装与启动首先下载redis的安装包,http://download.redis.io/releases/redis-4.0.0.tar.gztar -zxvf redis-4.0.0.tar.gz cd redis-4.0.0makemake install --prefix /usr/local/rediscp redis.conf /usr/local/redis/binvim redis.conf # 默认是no,redis server在前端进行,关闭shell...…

  180. Java Junior

    Introduction本篇主要整理 Java 初级的一些知识点Install JDK# Ubuntu$ apt-get install -y openjdk-8-jdk$ vim ~/.bashrcexport JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64export JRE_HOME=$JAVA_HOME/jreexport CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/libexport PATH=$PATH:$J...…

  181. Spark Reader

    spark读取csv文件的可以附加的所有option选项// Loads CSV files and returns the result as a DataFrame.def csv(paths: String*): DataFrameThis function will go through the input once to determine the input schema if inferSchema is enabled. To avoid going through the...…

  182. Spark-Mongo-Connector

    官方文档https://docs.mongodb.com/spark-connector/current/sbt 地址libraryDependencies += "org.mongodb.spark" % "mongo-spark-connector_2.11" % "2.0.0"写配置在SparkConf或者$SPARK_HOME/conf/spark-default.conf 文件中将uri、database、collection必选的配置项配置好,如下package com.neu...…

  183. Spark Monitor

    Reference Monitoring and Instrumentation Web UISpark Cluster MonitorSpark UI 模式监控管理界面的入口http://master:8080,可以在$SPARK_HOME/conf/spark-env.sh中修改参数SPARK_MASTER_PORT或者SPARK_MASTER_WEBUI_PORT来改变端口号。除此之外,Spark 会给每一个 SparkContext 启动一个默认的 Web 界面,http://...…

  184. Spark Logs

    Spark 日志存储Spark 节点启动情况的日志存储在$SPARK_HOME/logs下,例如spark-history-server的启动情况、master或者worker的启动情况。Spark执行各任务时输出的日志,例如println()、logger.info()会分两部分输出。 driver: 在main方法之中map等算子之外运行的输出日志会在driver节点(Master)生成,默认只在控制台输出。可以修改$SPARK_HOME/conf/log4j.properties,...…

  185. Spark Cluster Install

    Standalone 模式部署official reference - Spark Standalone Mode下载download下载对应版本的Spark,解压。配置域名vim /etc/hosts# 将集群的所有节点都添加进去,各个节点都需要配置,否则会出现 net exception127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost l...…

  186. 字符编码

    编码格式世界上的任意字符在计算机中,都是用一串二进制的数字来表示的,只不过同一个字符在不同的编码格式下,对应的数字不同,长度也不一样。ASCIIASCII 是最早的编码规范,但是只能表示128个字符。扩展ASCII码后来有了扩展ASCII码,扩展到了256个字符。Unicode世界上的字符辣么多,256个就够了吗?Unicode 包含了世界上所有的字符。Unicode的所有字符长度都是定长的,16位,也就是说可以代表 65536 个字符,如下 今 天 早 上 有...…

  187. Python Install

    编译、安装过程首先去官网下载python包,地址:http://www.python.org/download/,然后将tgz格式包解压进入解压目录下,执行以下操作# 配置并且检查,然后生成编译安装所需要的文件,如:./configure --prefix /usr/local/python2.7# --prefix用于指定python的安装路径于/usr/local/python2.7# 生成文件如下:configure: creating ./config.statusconfig.s...…

  188. 准确率(Accuracy) 精确率(Precision) 召回率(Recall)和F1-Measure

    先验知识我们首先将数据的类别统一分为两类:正类和负类。例如:一个数据集中的数据一共有3类,小学生、中学生、高中生。我们的目标是预测小学生,那么标记为小学生的数据就是正类,标记为其他类型的数据都是负类。数据有两种状态:测试集数据和预测结果数据。对一批测试数据进行预测,结果可以分成四种。 TP(True Positive): 原本是正类,预测结果为正类。(正确预测为正类) FP(False Positive): 原本是负类,预测结果为正类。(错误预测为正类) TN(True Negati...…

  189. Spark Scheduler

    类似 MapReduce 的任务调度,Spark 也有自身的资源调度方式,包含应用程序间和应用程序中两个层面的策略调度。每个 Spark 程序(SparkContext 实例)运行一个独立的执行进程,集群管理器提供了应用程序间的调度处理措施。其次,在每个 Spark 应用程序中,不同线程提交的多个 Job 作业(Spark Actions)可以同时运行。作业调度常见作业调度的基本概念: Job : 作业,一次 Action 生成一个 Job,一个 Job 是由一个或多个 Stage 组成...…

  190. Spark Job Execution

    划分 Stage当某个 Action 操作触发计算,向 DAGScheduler 提交作业时,DAGScheduler 需要从 RDD 依赖链的末端出发,遍历整个 RDD 依赖链,划分 Stage,并且决定 Stage 之间的依赖关系。Stage 划分是以 Shuffle 依赖为依据,当某个 RDD 运算需要将数据进行 Shuffle 时,这个包含了 Shuffle 依赖关系的 RDD 将被用来作为输入信息,构建一个新的 Stage,由此为依据划分 Stage,可以确保有依赖关系的数据能够...…

  191. MAC 常用快捷键与命令

    常用快捷键# 所有 F1 等按键需要配合 fn 键来使用,即 fn + F1# 显示桌面 :fn + F11# 剪切,先 Command + C 复制文件,然后到移动的位置, Command + Option(Alt) + V# 显示隐藏文件 :Command + Shift + .# IDEA 删除选中的行 Command + delete ; PyCharm Command + Y# 打开浏览器开发者模式 :Command + Option(Alt) + I# 锁屏 :Ctrl + C...…

  192. IDEA 常用快捷键和操作

    Reference 极客学院 - IntelliJ IDEA Keymap For MacPDF 下载可以打印出来 IDEA IntelliJIDEA_ReferenceCard VisualStudio Code keyboard-shortcuts-macOS keyboard-shortcuts-windows keyboard-shortcuts-linux 新的激活方法# 注册码http://id...…

  193. Gson笔记

    Gson笔记将Bean类转换成Json字符串val jsonStr = new Gson().toJson(bean)将Json字符串转换成对象// Scala 写法val beanObject = new Gson().fromJson(jsonStr,beanClass)// 例如:将json字符串转换成map对象(Scala写法)val map:Map[String,Object] = new Gson().fromJson(similarityJson, classOf[immu...…

  194. Linux 异常问题记录

    执行sudo命令时,出现如下错误sudo: /usr/libexec/sudoers.so must be only be writable by ownersudo: fatal error, unable to load plugins原因是/usr文件夹中的文件权限被更改了,重新给相关文件赋予4755的权限,4代表其他用户执行文件时,具有与所有者相同的权限chown root:root /usr/bin/sudo chmod 4755 /usr/bin/sudo chmod 4...…

  195. Linux 系统监控与性能分析

    查看进程信息查看进程号的方式大概有三种,静态的ps、动态的top、查阅程序树之间的关系pstree。截取某个时间点的进程运行情况(静态)# 查看所有进程$ ps# 使用 -ef# -e 所有进程均显示出来,同 -A # -f 做一个更为完整的输出$ ps -efUID PID PPID C STIME TTY TIME CMDroot 1 0 0 Jun30 ? 00:00:07 /sbin/init...# 使用...…

  196. Linux 基础

    前言最近在学习大数据,少不了和linux打交到,下面是半年来使用过的linux相关的命令,想起来的就整理了一下,以供查阅,并督促自己时常整理所学知识。也可以帮初学者梳理一下~基础概念# [用户名@主机名 当前文件夹],`$`代表普通用户[neu@s12083 zhangqiang]$ # ~ 代表当前用户的根目录,`#`代表超级用户[root@s12083 ~]# 基础命令和工具man & info查看命令的具体使用方法和说明# 如果对当前命令不是特别清楚它的用法man [comm...…

  197. Local Git Repository

    用 yum 安装 git,并配置 IDEA 上传项目到本地 git 库中升级yum系统(当时未升级)yum update卸载旧版本git(如果有的话)yum remove git -y 安装相关的依赖包yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker# -bash: wget: command not found 解决方法yum -y i...…

  198. 正则表达式(转载)

    https://regexr.com/:一个好用的工具网站,有解析和测试 注:此篇文章是转载的,原文章出处 - https://deerchao.net/tutorials/regex/regex.htm简介和通配符类似,正则表达式也是用来进行文本匹配的工具,只不过比起通配符,它能更精确地描述你的需求,但是代价就是更复杂编写一个简单的正则表达式:用来查找所有以0开头,后面跟着2-3个数字,然后是一个连字号-,最后是7或8位数字的字符串。0[0-9]{2,3}-[0-9]{7,8}入门...…

  199. xlsx批量转换为csv

    用vb脚本实现批量转换xlsx文件为csv文件Sub SaveToCSVs() Dim fDir As String Dim wB As Workbook Dim wS As Worksheet Dim fPath As String Dim sPath As String fPath = "C:\Users\zhangqiang\Desktop\xlsx文件夹\" sPath = "C:\Users\zhangqiang\Desktop\csv文...…

  200. Sublime

    安装 Package Control的步骤1、Click the Preferences > Browse Packages… menu2、Browse up a folder and then into the Installed Packages/ folder3、Download Package Control.sublime-package from https://sublime.wbond.net/Package%20Control.sublime-package and...…

  201. SQL

    drop、truncate、delete区别delete执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志(redo 和 undo 表空间)中保存,以便进行进行回滚和重做操作。truncate则一次性地从表中删除所有的数据,并且不会把删除操作记录记入日志保存,因此无法通过 rollback 恢复。并且在删除的过程中不会激活与表有关的删除触发器。执行速度快。truncate后,这个表和索引所占用的空间会恢复到初始大小,delete操作不会减少表或索引所占用的空间,...…

  202. Cherry MX 9.0 调色

    按住亮度键(旋钮右面三个键第一个) + 颜色首字母键(例如 Red -> R,支持的颜色W、R、Y、O、P、G、C、B)…

  203. 朴素贝叶斯

    贝叶斯定理设\( X \)是代表一条数据(一个对象),由\( n \)个属性\( A_1,A_2,\ldots,A_n \)构成;\( H \)为某种假设,如数据\( X \)属于某个特定的类\( C \)。\( P(H|X)\) 是在已知\( X \)的几个属性下,\( X \)属于某个类\( C \)的概率。贝叶斯定理如下:\[ P(H|X) = \frac{P(X|H)P(H)}{P(X)} \]其中,\( P(H|X)\)是在条件\(X\)下,\(H\)的后验概率,\( P(H)...…

  204. 决策树

    基本概念分类是一种重要的数据分析形式,例如有一批教师家访的数据,要根据这些数据来将教师分成敬业的非敬业的两类,这个数据分析任务就叫做分类(classification)。分类需要构造一个叫分类器(classifer)的模型来预测类标号,例如教师敬业是0,非敬业是1。像这种只有有限个分类结果的分类,分类结果可以用离散值来表示,且值之间的次序没有意义。而如果你是要预测某顾客在某商场的一次购物要花多少钱,这种分析任务就属于数值预测(numeric prediction),它预测一个连续值或者有序...…

  205. Spark Job Submit

    Spark 各种模式下的提交方式以及配置参数说明使用下面的命令查看对应版本的提交参数详细说明spark-submit --helplocal 模式下的提交模板SPARK_HOME/bin/spark-submit \ # 执行spark-submit脚本 # 指定提交jar包的主类 --class com.neusoft.client.xxxxxxxx \ # 4核cpu --master local[4] \ # jar包路径,对于Python应用,在此位置传入一个.py文...…

  206. HBase Shell

    基本操作# 安装完后可以在浏览器中输入下面的URL来测试安装是否成功:http://localhost:60010# hbase目录输出日志文件所在位置:$HBASE_HOME/logs/# hbase Usage$ hbaseUsage: hbase [<options>] <command> [<args>]Options: --config DIR Configuration direction to use. Default: ./con...…

  207. HBase Install

    下载download安装指定环境变量$ vim ~/.bash_profileexport HADOOP_HOME=/home/hadoop/hadoop-3.1.2export HBASE_HOME=/home/hadoop/hbase-2.0.5export PATH=$PATH:$HOME/.local/bin:$HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HBASE_HOME/bin$ . ~/.bash_profile$ vim $H...…

  208. HBase Basic

    参考 HBase原理 - HBase内部探险 HBase学习HBase 应用场景 推荐画像:特别是用户的画像,是一个比较大的稀疏矩阵,蚂蚁的风控就是构建在HBase之上 对象存储:我们知道不少的头条类、新闻类的的新闻、网页、图片存储在HBase之中,一些病毒公司的病毒库也是存储在HBase之中 时序数据:HBase之上有OpenTSDB模块,可以满足时序类场景的需求 时空数据:主要是轨迹、气象网格之类,滴滴打车的轨迹数据主要存在HBase之中,另外在技术所有大一点的数据量的车联...…

  209. Json 转 Bson

    MongoDB中是以Bson数据格式进行存储的,Json字符串没有办法直接写入MongoDB 可以将Json字符串转换成DBObject或者Document,然后写入MongoDB将Json字符转换成 DBObject(准确的说是BasicDBObject)Scala版本:import com.mongodb.DBObjectimport com.mongodb.casbah.{MongoClient, MongoCollection}import com.mongodb.util.JSO...…