环境:
[hadoop@big-master2 ~]$ cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
## bigdata cluster ##
192.168.41.20 big-master1 #bigdata1 namenode1,zookeeper,resourcemanager
192.168.41.21 big-master2 #bigdata2 namenode2,zookeeper,slave,resourcemanager
192.168.41.22 big-slave01 #bigdata3 datanode1,zookeeper,slave
192.168.41.25 big-slave02 #bigdata4 datanode2,zookeeper,slave
192.168.41.27 big-slave03 #bigdata5 datanode3,zookeeper,slave
HMaster是Master Server的实现,负责监控集群中的RegionServer实例,同时是所有metadata改变的接口,在集群中,通常运行在NameNode上面。
HMasterInterface暴露的接口,Table(createTable, modifyTable, removeTable, enable, disable),ColumnFamily (addColumn, modifyColumn, removeColumn),Region (move, assign, unassign)
Master运行的后台线程:LoadBalancer线程,控制region来平衡集群的负载。CatalogJanitor线程,周期性的检查hbase:meta表。
HRegionServer是RegionServer的实现,服务和管理Regions,集群中RegionServer运行在DataNode
HRegionRegionInterface暴露接口:Data (get, put, delete, next, etc.),Region (splitRegion, compactRegion, etc.)
RegionServer后台线程:CompactSplitThread,MajorCompactionChecker,MemStoreFlusher,LogRoller
Regions,代表table,Region有多个Store(列簇),Store有一个Memstore和多个StoreFiles(HFiles),StoreFiles的底层是Block。
存储设计
在Hbase中,表被分割成多个更小的块然后分散的存储在不同的服务器上,这些小块叫做Regions,存放Regions的地方叫做RegionServer。Master进程负责处理不同的RegionServer之间的Region的分发。在Hbase实现中HRegionServer和HRegion类代表RegionServer和Region。HRegionServer除了包含一些HRegions之外,还处理两种类型的文件用于数据存储
HLog, 预写日志文件,也叫做WAL(write-ahead log)
HFile 真实的数据存储文件
HLog
MasterProcWAL:HMaster记录管理操作,比如解决冲突的服务器,表创建和其它DDLs等操作到它的WAL文件中,这个WALs存储在MasterProcWALs目录下,它不像RegionServer的WALs,HMaster的WAL也支持弹性操作,就是如果Master服务器挂了,其它的Master接管的时候继续操作这个文件。
WAL记录所有的Hbase数据改变,如果一个RegionServer在MemStore进行FLush的时候挂掉了,WAL可以保证数据的改变被应用到。如果写WAL失败了,那么修改数据的完整操作就是失败的。
通常情况,每个RegionServer只有一个WAL实例。在2.0之前,WAL的实现叫做HLog
WAL位于/hbase/WALs/目录下
MultiWAL: 如果每个RegionServer只有一个WAL,由于HDFS必须是连续的,导致必须写WAL连续的,然后出现性能问题。MultiWAL可以让RegionServer同时写多个WAL并行的,通过HDFS底层的多管道,最终提升总的吞吐量,但是不会提升单个Region的吞吐量。
// 启用multiwal hbase.wal.provider multiwal
###############################################
----------- 开始 ---------
###############################################
## 自定义部署 Hbase 分布式定义 ##
big-master1 hmaster1
big-master2 hmaster2
big-slave01 HRegionServer1 ## data
big-slave02 HRegionServer2 ## data
big-slave03 HRegionServer3 ## data
###########################################
下载地址:官方: https://mirror.bit.edu.cn/apache/hbase/
#################################################
作为一个 IT 农,是不是或多或少有些强迫症,比如用软件就用最新的~
---- 因为太懒,所以一些图片不想单独上传,排版,所以,将就将就吧。
HBase 和 JDK 兼容性
HBase Version
JDK 7
JDK 8
JDK 9
JDK 10
2.0
Not Supported
yes
Not Supported
Not Supported
1.3
yes
yes
Not Supported
Not Supported
1.2
yes
yes
Not Supported
Not Supported
从该表可以看出,JDK建议用 JDK7 或者 JDK8。但用 JDK7 时,HBase2.0 不支持。当然也没事,因为大多数企业生产环境,还是 1.x 版本。
HBase 和 Hadoop 兼容性
Hadoop version support matrix
"S" = supported
"X" = not supported
"NT" = Not tested
HBase-1.2.x
HBase-1.3.x
HBase-1.5.x
HBase-2.0.x
HBase-2.1.x
Hadoop-2.4.x
S
S
X
X
X
Hadoop-2.5.x
S
S
X
X
X
Hadoop-2.6.0
X
X
X
X
X
Hadoop-2.6.1+
S
S
X
S
X
Hadoop-2.7.0
X
X
X
X
X
Hadoop-2.7.1+
S
S
S
S
S
Hadoop-2.8.[0-1]
X
X
X
X
X
Hadoop-2.8.2
NT
NT
NT
NT
NT
Hadoop-2.8.3+
NT
NT
NT
S
S
Hadoop-2.9.0
X
X
X
X
X
Hadoop-2.9.1+
NT
NT
NT
NT
NT
Hadoop-3.0.x
X
X
X
X
X
Hadoop-3.1.0
X
X
X
X
X
从该表可以看出,学习 HBase,兼容各个版本的 Hadoop 版本还是2.7.1+ 系列,所以 2.8.x、2.9.x、3.x并不是最好的选择。
Hadoop 和 JDK 兼容性
Version 2.7 and later of Apache Hadoop requires Java 7. It is built and tested on both OpenJDK and Oracle (HotSpot)'s JDK/JRE.
Earlier versions (2.6 and earlier) support Java 6.
Here are the known JDKs in use or which have been tested:
Version
Status
Reported By
oracle 1.7.0_15
Good
Cloudera
oracle 1.7.0_21
Good (4)
Hortonworks
oracle 1.7.0_45
Good
Pivotal
openjdk 1.7.0_09-icedtea
Good (5)
Hortonworks
oracle 1.6.0_16
Avoid (1)
Cloudera
oracle 1.6.0_18
Avoid
Many
oracle 1.6.0_19
Avoid
Many
oracle 1.6.0_20
Good (2)
LinkedIn, Cloudera
oracle 1.6.0_21
Good (2)
Yahoo!, Cloudera
oracle 1.6.0_24
Good
Cloudera
oracle 1.6.0_26
Good(2)
Hortonworks, Cloudera
oracle 1.6.0_28
Good
LinkedIn
oracle 1.6.0_31
Good(3, 4)
Cloudera, Hortonworks
从该表可以看出,Hadoop 版本所依赖 JDK 环境,7 版本已经过测试,8 目前在官网无体现。所以还是选择 JDK7为好,而且是 JDK7 的中间版本,并不是最新版本。
总结
综上,建议安装:
JDK:Java SE Runtime Environment 7u45(当然其它 7版本 系列也可尝试,问题应该不大,下载地址:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html)
Hadoop:2.7.1+(下载地址:https://archive.apache.org/dist/hadoop/common/)
HBase:1.x 系列(下载地址:http://archive.apache.org/dist/hbase/)
#####################
开始部署: -- 我这里是基于hdfs,zookeeper,时间同步,ssh等效性 等集群已经部署到位。
(一)
下载,解压:
gunzip hbase-2.2.5-bin.tar.gz
tar -xvf hbase-2.2.5-bin.tar -C /usr/local/
cd /usr/local/
mv hbase-2.2.5 hbase
[root@big-master1 ~]# cd /usr/local/hbase/
[root@big-master1 hbase]# ls
bin CHANGES.md conf hbase-webapps LEGAL lib LICENSE.txt logs NOTICE.txt README.txt RELEASENOTES.md
(二)
配置参数:
1, /etc/profile 配置hbase全局变量。
### JDK ###
JAVA_HOME=/usr/local/jdk1.8.0_251
CLASSPATH=$JAVA_HOME/lib/tools.jar$JAVA_HOME/lib/dt.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
### zookeeper ##
export ZK_HOME=/usr/local/zookeeper
export PATH=$ZK_HOME/bin:$PATH
### hadoop ##
export HADOOP_HOME=/usr/local/hadoop
export PATH=$HADOOP_HOME/bin:$PATH:$HADOOP_HOME/sbin:$PATH
## tools ##
export PATH=/home/hadoop/tools:$PATH
## sqoop ##
export SQOOP_HOME=/usr/local/sqoop
export PATH=$SQOOP_HOME/bin:$PATH
## flume ##
export FLUME_HOME=/usr/local/flume
export PATH=$FLUME_HOME/bin:$PATH
## hbase ##
export HBASE_HOME=/usr/local/hbase
export PATH=$HBASE_HOME/bin:$PATH
2, 修改文件$HBASE_HOME/conf/hbase-env.sh,新增修改内容如下:
## JDK 路径
export JAVA_HOME=/usr/local/jdk1.8.0_251
## 关闭hbase 自带的zookeeper
export HBASE_MANAGES_ZK=false
3, 修改文件$HBASE_HOME/conf/regionservers ,新增修改内容如下:
[hadoop@big-master1 conf]$ pwd
/usr/local/hbase/conf
[hadoop@big-master1 conf]$ cat regionservers
big-slave01
big-slave02
big-slave03
4, 修改文件$HBASE_HOME/conf/hbase-site.xml ,新增修改内容如下:
hbase.zookeeper.quorum
big-master1:2181,big-master2:2181,big-slave01:2181,big-slave02:2181,big-slave03:2181
The directory share by RegionServers.
hbase.zookeeper.property.clientPort
2181
hbase.zookeeper.property.dataDir
/data/hbase/zk
Property from ZooKeeper config zoo.cfg. The Directory where the snapshot is stored.
hbase.rootdir
hdfs://cluster1/hbase
The Directory shared by RegionServers.
hbase.cluster.distributed
true
Possible values are false:standalone and pseudo-distributed setups with managed
zookeeper true:fully-distributed with unmanaged zookeeper Quorum(see hbase-env.sh)
5, 将/usr/local/hbase 目录和/etc/profile 文件 拷贝至其他几个节点,big-master2,big-slave01 - big-slave03,并授权 :
[root@big-master1 local]# rsync -avzP /usr/local/hbase big-master2:/usr/local/
[root@big-master1 local]# rsync -avzP /usr/local/hbase big-slave01:/usr/local/
[root@big-master1 local]# rsync -avzP /usr/local/hbase big-slave02:/usr/local/
[root@big-master1 local]# rsync -avzP /usr/local/hbase big-slave03:/usr/local/
6,创建对应的目录:
mkdir -pv /data/hbase/zk
(三)
Hbase 启动及验证:
在big-master1 上启动Hbase 集群服务.
[hadoop@big-master1 ~]$ start-hbase.sh
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/local/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/local/hbase/lib/client-facing-thirdparty/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
running master, logging to /usr/local/hbase/logs/hbase-hadoop-master-big-master1.out
big-slave02: running regionserver, logging to /usr/local/hbase/bin/../logs/hbase-hadoop-regionserver-big-slave02.out
big-slave03: running regionserver, logging to /usr/local/hbase/bin/../logs/hbase-hadoop-regionserver-big-slave03.out
big-slave01: running regionserver, logging to /usr/local/hbase/bin/../logs/hbase-hadoop-regionserver-big-slave01.out
[hadoop@big-master1 ~]$ jps
30037 JournalNode
10181 HMaster
10438 Jps
4023 ResourceManager
29642 DFSZKFailoverController
29804 NameNode
28141 QuorumPeerMain
在big-master2节点上再启动一个Hmaster进程,构成高可用环境。
[hadoop@big-master2 ~]$ hbase-daemon.sh start master
running master, logging to /usr/local/hbase/logs/hbase-hadoop-master-big-master2.out
[hadoop@big-master2 ~]$ jps
20032 NameNode
20116 JournalNode
20324 DFSZKFailoverController
31540 HMaster
31704 Jps
18830 QuorumPeerMain
2462 ResourceManager
其他slave 节点,直接jps 验证查看即可:
[hadoop@big-slave01 ~]$ jps
10161 NodeManager
28513 Jps
28338 HRegionServer
7702 QuorumPeerMain
8583 DataNode
8686 JournalNode
[hadoop@big-slave02 ~]$ jps
26097 Jps
5187 DataNode
6697 NodeManager
4362 QuorumPeerMain
5290 JournalNode
25869 HRegionServer
[hadoop@big-slave03 ~]$ jps
26193 Jps
4562 QuorumPeerMain
5442 DataNode
26004 HRegionServer
6903 NodeManager
5545 JournalNode
hbase 默认端口为16010 ,直接登陆
http://192.168.41.20:16010/master-status
http://192.168.41.21:16010/master-status
(四)
基本操作:
[root@big-master1 ~]# su - hadoop
Last login: Thu Jun 4 23:34:55 CST 2020 on pts/0
[hadoop@big-master1 ~]$ hbase shell
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/local/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/local/hbase/lib/client-facing-thirdparty/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
HBase Shell
Use "help" to get list of supported commands.
Use "exit" to quit this interactive shell.
For Reference, please visit: http://hbase.apache.org/2.0/book.html#shell
Version 2.2.5, rf76a601273e834267b55c0cda12474590283fd4c, 2020年 05月 21日 星期四 18:34:40 CST
Took 0.0082 seconds
hbase(main):001:0> whoami
hadoop (auth:SIMPLE)
groups: hadoop
Took 0.0332 seconds
hbase(main):002:0> create 'User','info'
Created table User
Took 10.1702 seconds
=> Hbase::Table - User
hbase(main):003:0> list
TABLE
User
1 row(s)
Took 0.0573 seconds
=> ["User"]
--- 以下内容为摘抄写 ------
1. 创建表
语法:create
, {NAME => , VERSIONS => }
创建一个User表,并且有一个info列族
hbase(main):002:0> create 'User','info' 0 row(s) in 1.5890 seconds => Hbase::Table - User
3. 查看所有表
hbase(main):003:0> list TABLE SYSTEM.CATALOG SYSTEM.FUNCTION SYSTEM.SEQUENCE SYSTEM.STATS TEST.USER User 6 row(s) in 0.0340 seconds => ["SYSTEM.CATALOG", "SYSTEM.FUNCTION", "SYSTEM.SEQUENCE", "SYSTEM.STATS", "TEST.USER", "User"]
4. 查看表详情
hbase(main):004:0> describe 'User' Table User is ENABLED User COLUMN FAMILIES DESCRIPTION {NAME => 'info', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FORE VER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'} 1 row(s) in 0.1410 seconds hbase(main):025:0> desc 'User' Table User is ENABLED User COLUMN FAMILIES DESCRIPTION {NAME => 'info', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FORE VER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'} 1 row(s) in 0.0380 seconds
5. 表修改
删除指定的列族
hbase(main):002:0> alter 'User', 'delete' => 'info' Updating all regions with the new schema... 1/1 regions updated. Done. 0 row(s) in 2.5340 seconds
1. 插入数据
语法:put
,,,
hbase(main):005:0> put 'User', 'row1', 'info:name', 'xiaoming' 0 row(s) in 0.1200 seconds hbase(main):006:0> put 'User', 'row2', 'info:age', '18' 0 row(s) in 0.0170 seconds hbase(main):007:0> put 'User', 'row3', 'info:sex', 'man' 0 row(s) in 0.0030 seconds
2. 根据rowKey查询某个记录
语法:get
,,[,....]
hbase(main):008:0> get 'User', 'row2' COLUMN CELL info:age timestamp=1502368069926, value=18 1 row(s) in 0.0280 seconds hbase(main):028:0> get 'User', 'row3', 'info:sex' COLUMN CELL info:sex timestamp=1502368093636, value=man hbase(main):036:0> get 'User', 'row1', {COLUMN => 'info:name'} COLUMN CELL info:name timestamp=1502368030841, value=xiaoming 1 row(s) in 0.0120 seconds
3. 查询所有记录
语法:scan
, {COLUMNS => [ ,.... ], LIMIT => num}
扫描所有记录
hbase(main):009:0> scan 'User' ROW COLUMN+CELL row1 column=info:name, timestamp=1502368030841, value=xiaoming row2 column=info:age, timestamp=1502368069926, value=18 row3 column=info:sex, timestamp=1502368093636, value=man 3 row(s) in 0.0380 seconds
扫描前2条
hbase(main):037:0> scan 'User', {LIMIT => 2} ROW COLUMN+CELL row1 column=info:name, timestamp=1502368030841, value=xiaoming row2 column=info:age, timestamp=1502368069926, value=18 2 row(s) in 0.0170 seconds
范围查询
hbase(main):011:0> scan 'User', {STARTROW => 'row2'} ROW COLUMN+CELL row2 column=info:age, timestamp=1502368069926, value=18 row3 column=info:sex, timestamp=1502368093636, value=man 2 row(s) in 0.0170 seconds hbase(main):012:0> scan 'User', {STARTROW => 'row2', ENDROW => 'row2'} ROW COLUMN+CELL row2 column=info:age, timestamp=1502368069926, value=18 1 row(s) in 0.0110 seconds hbase(main):013:0> scan 'User', {STARTROW => 'row2', ENDROW => 'row3'} ROW COLUMN+CELL row2 column=info:age, timestamp=1502368069926, value=18 1 row(s) in 0.0120 seconds
另外,还可以添加TIMERANGE和FITLER等高级功能
STARTROW,ENDROW必须大写,否则报错;查询结果不包含等于ENDROW的结果集
4. 统计表记录数
语法:count
, {INTERVAL => intervalNum, CACHE => cacheNum}
INTERVAL设置多少行显示一次及对应的rowkey,默认1000;CACHE每次去取的缓存区大小,默认是10,调整该参数可提高查询速度
hbase(main):020:0> count 'User' 3 row(s) in 0.0360 seconds => 3
5. 删除
删除列
hbase(main):008:0> delete 'User', 'row1', 'info:age' 0 row(s) in 0.0290 seconds
删除所有行
hbase(main):014:0> deleteall 'User', 'row2' 0 row(s) in 0.0090 seconds
删除表中所有数据
hbase(main):016:0> truncate 'User' Truncating 'User' table (it may take a while): - Disabling table... - Truncating table... 0 row(s) in 3.6610 seconds
1. 禁用表
hbase(main):014:0> disable 'User' 0 row(s) in 2.2660 seconds hbase(main):015:0> describe 'User' Table User is DISABLED User COLUMN FAMILIES DESCRIPTION {NAME => 'info', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FORE VER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'} 1 row(s) in 0.0340 seconds hbase(main):016:0> scan 'User', {STARTROW => 'row2', ENDROW => 'row3'} ROW COLUMN+CELL ERROR: User is disabled.
2. 启用表
hbase(main):017:0> enable 'User' 0 row(s) in 1.3470 seconds hbase(main):018:0> describe 'User' Table User is ENABLED User COLUMN FAMILIES DESCRIPTION {NAME => 'info', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FORE VER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'} 1 row(s) in 0.0310 seconds hbase(main):019:0> scan 'User', {STARTROW => 'row2', ENDROW => 'row3'} ROW COLUMN+CELL row2 column=info:age, timestamp=1502368069926, value=18 1 row(s) in 0.0280 seconds
3. 测试表是否存在
hbase(main):022:0> exists 'User' Table User does exist 0 row(s) in 0.0150 seconds hbase(main):023:0> exists 'user' Table user does not exist 0 row(s) in 0.0110 seconds hbase(main):024:0> exists user NameError: undefined local variable or method `user' for #
4. 删除表
删除前,必须先disable
hbase(main):030:0> drop 'TEST.USER' ERROR: Table TEST.USER is enabled. Disable it first. Here is some help for this command: Drop the named table. Table must first be disabled: hbase> drop 't1' hbase> drop 'ns1:t1' hbase(main):031:0> disable 'TEST.USER' 0 row(s) in 2.2640 seconds hbase(main):033:0> drop 'TEST.USER' 0 row(s) in 1.2490 seconds hbase(main):034:0> list TABLE SYSTEM.CATALOG SYSTEM.FUNCTION SYSTEM.SEQUENCE SYSTEM.STATS User 5 row(s) in 0.0080 seconds => ["SYSTEM.CATALOG", "SYSTEM.FUNCTION", "SYSTEM.SEQUENCE", "SYSTEM.STATS", "User"]
你可能感兴趣的:(㊣,BigData,㊣)
Hadoop架构
henan程序媛
hadoop 大数据 分布式
一、案列分析1.1案例概述现在已经进入了大数据(BigData)时代,数以万计用户的互联网服务时时刻刻都在产生大量的交互,要处理的数据量实在是太大了,以传统的数据库技术等其他手段根本无法应对数据处理的实时性、有效性的需求。HDFS顺应时代出现,在解决大数据存储和计算方面有很多的优势。1.2案列前置知识点1.什么是大数据大数据是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的大量数据集合,
echarts象形渐变柱状图
星星跌入梦境*
echarts angular.js 前端
一、效果图如下:二、代码如下(1)父组件importitemfrom'../bigdata/components/item.vue'exportdefault{components:{item}}.page-con{width:100%;height:100%;.main-con{width:35%;height:33%;}}(2)子组件importechartsfrom"echarts";exp
大数据(Big Data):探索信息时代的海量数据世界
hong161688
大数据
大数据(BigData):探索信息时代的海量数据世界一、大数据的定义与特点大数据(BigData),或称巨量资料,是指那些在传统数据处理应用软件无法有效捕捉、管理和处理的数据集合。这些数据集通常具有海量、高增长率和多样化的特点,需要新的处理模式才能赋予其更强的决策力、洞察发现力和流程优化能力。大数据的“大”不仅体现在数据量的规模上,更在于其处理难度和复杂性,以及对信息提取和价值挖掘的需求。大数据的
Ingest Pipeline & Painless Script
折纸虚桐
ES学习笔记 elasticsearch
DELETEtech_blogs#Blog数据,包含3个字段,tags用逗号间隔PUTtech_blogs/_doc/1{"title":"Introducingbigdata......","tags":"hadoop,elasticsearch,spark","content":"Youknow,forbigdata"}#测试splittagsPOST_ingest/pipeline/_sim
HIVE 数据模型
HFDYCYY
大数据
体系结构:元数据/HQL的执行安装:嵌入/远程/本地管理:CLI/web界面/远程服务数据类型:基本/复杂/时间数据模型:数据存储/内部表/分区表/外部表/桶表/视图WEB管理工具:http://tdxy-bigdata-04:8889/notebook/editor?type=hive集群状态管理:http://tdxy-bigdata-03:7180/cmf/home基于HDFS没有专门的数据
山东大学大数据管理与分析知识点总结
weixin_51565263
云计算 大数据 mapreduce 数据仓库
大数据概述大数据(bigdata),或称巨量资料,指的是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产大数据指不用随机分析法(抽样调查)这样的捷径,而采用所有数据进行分析处理大数据四个本质特征大量化(volume),快速化(velocity),多样化(variety),价值化(value);四个VVolume—数量大:数据每两年就增长一倍(大数据摩尔
大数据-Big Data
Dingdangr
big data
大数据(BigData)是指规模庞大、多样化、高速度的数据集合。与传统数据相比,大数据具有一些显著的特点,并广泛应用于各个领域。以下是对大数据的详细解释:一、大数据的定义大数据是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。二、大数据的主要特点数据量巨大(Volume):大数据最
BigData学习日记
wsuan
做一个简单的开篇说明从今天开始,每天定时更新当天所学知识,进行知识总结的同时进行一下日子的计算,也算为自己加油。
pyflink1.18.0 报错 TypeError: cannot pickle ‘_thread.lock‘ object
Thomas2143
总结 pyflink
完整报错Traceback(mostrecentcalllast):File"/Users//1.py",line851,inds1=my_datastream.key_by(lambdax:x[0]).process(MyProcessFunction())#返回元组即:f0f1f2三列File"/Users/thomas990p/bigdataSoft/minicondaarm/minicon
扩展学习|大数据,新的认识论和范式转变
封印师请假去地球钓鱼
计算机辅助信息分析主题扩展阅读 大数据 科研范式转变
文献来源:[1]KitchinR.BigData,NewEpistemologiesandParadigmShift[J].BigData&Society,2014,1(1):1-12.DOI:10.1177/2053951714528481.下载链接:https://pan.baidu.com/s/1RdnIo5VeL-CERk2sxyILiQ提取码:0ih2一、科学研究的范式转变正如库恩(19
阿里云计算平台大数据基础工程技术团队直聘!!!
大数据
大数据基础工程技术团队,隶属于阿里云智能集团计算平台事业部,是一支负责阿里集团、公共云和混合云场景计算平台大数据&AI产品的稳定性建设、架构&成本优化、运维产品ABM(ApsaraBigdataManager)研发和售后技术专家支持的团队。通过软件工程,数据智能化的方法论,围绕数据系统化建设运维智能工具链,打造飞天大数据&AI运维管控平台ABM,解决超大规模分布式集群运维管理问题,提升产品的稳定性
单细胞注释
刘综一
单细胞-注释-2022-01-17多个样本单细胞分析流程-(jianshu.com)一、人工注释人工注释需要借助文献检索marker或者结合常用的注释数据库,例如两个常用的数据库:CellMarker(http://bio-bigdata.hrbmu.edu.cn/CellMarker/);panglaoDB(ASingleCellSequencingResourceForGeneExpressi
[bigdata-050] 规则引擎和专家系统pyke+pyclipse+drools
未济2019
反欺诈最有效的方式,是搜索所有的欺诈事件,然后将欺诈行为和防范措施进行规则化,表达成产生式规则,再由规则引擎驱动进行反欺诈业务实战。产生式规则,就是AI领域早期的专家系统。规则引擎如下:1.clipsehttp://clipsrules.sourceforge.net/http://clipsrules.sourceforge.net/FAQ.html这个是nasa在1985年开发的,ansic,
【Fellow 云集 | 经管主题/EI会议 | 快见刊】第三届大数据、区块链与经济管理国际学术会议 (ICBBEM 2024),早投稿、早送审、早录用!
艾思科蓝 AiScholar
学术会议 大数据 区块链 信任链 人工智能 软件工程 线性回归 算法
第三届大数据、区块链与经济管理国际学术会议(ICBBEM2024)The3rdInternationalConferenceonBigdataBlockchainandEconomyManagement大会网站:https://ais.cn/u/YFbQru(更多会议详情)大会时间:2024年3月29-31号大会地点:中国-武汉截稿时间:以官网信息为准提交检索:EICompendex,Scopus
python+大数据学习打卡day1
岁月不静好456
big data 学习
【大数据从0-1打卡-day1】1、简单了解一些关于大数据的概念数据:数据就是对客观事件进行记录并可以鉴别的符号。他不仅仅是指数字,还可以是有一定意义的字母、文字、符号、语音、文字、图画、视频或者这些元素的结合等。企业数据分析方向:现状分析:离线分析原因分析:实时分析预测分析:机器学习数据分析基本流程:采集、处理、分析、应用大数据:大数据(bigdata),指的是所涉及的资料量规模巨大到无法透过主
因果推断推荐系统工具箱 - CFF(二)
processor4d
文章名称【CIKM-2021】【BeijingKeyLaboratoryofBigDataManagementandAnalysisMethods-AntGroup】CounterfactualReview-basedRecommendation核心要点文章旨在解决现有基于评论的推荐系统中存在的评论稀疏和不平衡的问题,提出在feature-aware的推荐场景下,利用反事实样本提升模型性能。作者通
requests实验
临风.
爬虫 爬虫 网络爬虫 python
文章目录实验目的:实验内容:1.使用百度搜索引擎查询给定的一个关键词(例如:bigdata),将搜索得到的网页存储起来。2.给定使用baidu搜索引擎的关键词列表,将搜索得到的网页分别存储起来。2.1代码展示2.2效果展示2.3注意事项3.在人邮教育官网上搜索“爬虫”的图书信息,结果保存起来。3.1代码展示3.2效果展示4.给定关键词列表(例如:【大数据、java、python】),在人邮教育官网
python数据可视化库_python和r中用于数据可视化的前9个库
weixin_26738983
可视化 python 数据可视化 数据分析 人工智能
python数据可视化库Intherapidlygrowingworldoftoday,whentechnologyisexpandingataratelikeneverbefore,bigdataisswiftlywalkingintopeople’slives.Thoughpeoplemayhavewaystoobtaindata,whenitcomestodrawinginsightsorc
spark好的文章链接
Trank-Lw
spark 大数据 分布式
https://blog.51cto.com/u_16099325/6763760`javaspark官方文档sparkjavaapi手册http://www.17bigdata.com/book/spark/BianChengZhiNan/SPARKGongXiangBianLiang.htmlJavaSparkML实现的文本分类https://blog.csdn.net/coderma/art
使用Python和OpenCV检测图像中的物体并将物体裁剪下来
要去坐飞船
图像处理
转载哦~https://blog.csdn.net/binbigdata/article/details/80029681介绍硕士阶段的毕设是关于昆虫图像分类的,代码写到一半,上周五导师又给我新的昆虫图片数据集了,新图片中很多图片很大,但是图片中的昆虫却很小,所以我就想着先处理一下图片,把图片中的昆虫裁剪下来,这样除去大部分无关背景,应该可以提高识别率。原图片举例(将红色矩形框部分裁剪出来)):s
Hadoop2.7配置
不会吐丝的蜘蛛侠。
Hadoop hadoop 大数据 hdfs
core-site.xmlfs.defaultFShdfs://bigdata/ha.zookeeper.quorum192.168.56.70:2181,192.168.56.71:2181,192.168.56.72:2181-->hadoop.tmp.dir/export/data/hadoop/tmpfs.trash.interval1440io.file.buffer.size13107
Hadoop搭建(完全分布式)
莫噶
搭建 分布式 hadoop 大数据
节点分布:bigdata-masterbigdata-slave1bigdata-salve2NameNodeNodeManagerNodeManagerSecondaryNameNodeDataNodeDataNodeResourceManagerNodeManagerDataNode目录一、jdk安装:二、hadoop安装一、jdk安装:jdk-8u212链接:https://pan.baid
因果推断推荐系统工具箱 - CFF(一)
processor4d
文章名称【CIKM-2021】【BeijingKeyLaboratoryofBigDataManagementandAnalysisMethods-AntGroup】CounterfactualReview-basedRecommendation核心要点文章旨在解决现有基于评论的推荐系统中存在的评论稀疏和不平衡的问题,提出在feature-aware的推荐场景下,利用反事实样本提升模型性能。作者通
RDD 依赖关系
zmx_messi
大数据 spark
RDD血缘关系RDD不会保存数据的,RDD为了提供容错性,需要将RDD间的关系保存下来,一旦出现错误,可以根据血缘关采将数据源重新读取进行计算。packagecom.atguigu.bigdata.spark.core.rdd.depimportorg.apache.spark.{SparkConf,SparkContext}objectSpark01_RDD_Dep{defmain(args:A
转换算子小案例
zmx_messi
spark 大数据
1)数据准备agent.log:时间戳,省份,城市,用户,广告,中间字段使用空格分隔。2)需求描述统计出每一个省份每个广告被点击数量排行的Top33)需求分析4)功能实现整体思路代码实现packagecom.atguigu.bigdata.spark.core.rdd.operator.transformimportorg.apache.spark.{SparkConf,SparkContext}
【征稿已开启】第五大数据、人工智能与软件工程国际研讨会(ICBASE 2024)
艾思科蓝-何老师【H8053】
大数据 人工智能 软件工程
第五大数据、人工智能与软件工程国际研讨会(ICBASE2024)20245thInternationalConferenceonBigData&ArtificialIntelligence&SoftwareEngineering2024年09月20-22日|中国温州第五届大数据、人工智能与软件工程国际研讨会(ICBASE2024)将于2024年09月20-22日在中国温州隆重举行。会议主要围绕大数
2024初始Spring(并使用idea创建springweb项目)
菜鸟小木
spring java 后端
前言spring呢,以前一直是简单的了解,并没有利用空闲时间去进行对应的深入的学习,今天呢原本是打算好好学的,然后后来呢感觉还是太早了接触,打算把前面知识在过一编之后再开始Spring介绍Spring|Home大家想要访问的话,可以去官网下面具体查看对应的文档Fromconfigurationtosecurity,webappstobigdata—whatevertheinfrastructure
spark学习4:spark安装
hzp666
spark spark 大数据
1.下载spark安装包2.配置环境1.cd/bigdata/spark-3.0.1-bin-hadoop3.2/conf/2.4.添加动态库在hadoop-3.2.2/bin目录下添加hadoop.dll和winutils.exe文件,可以从https://github.com/cdarlint/winutils和https://github.com/steveloughran/winutils
商业智能(BI)数据分析、挖掘概念
kalvin_y_liu
数据科学 数据分析 数据挖掘
商业智能(BI)数据分析挖掘概念一、商业智能(BI)数据分析挖掘概念数据挖掘目前在各类企业和机构中蓬勃发展。因此我们制作了一份此领域常见术语总结。1.分析型客户关系管理(AnalyticalCRM/aCRM用于支持决策,改善公司跟顾客的互动或提高互动的价值。针对有关顾客的知识,和如何与顾客有效接触的知识,进行收集、分析、应用。2.大数据(BigData)大数据既是一个被滥用的流行语,也是一个当今社
Fink CDC数据同步(二)MySQL数据同步
苡~
mysql 数据库 flink
1开启binlog日志2数据准备usebigdata;droptableifexistsuser;CREATETABLE`user`(`id`INTEGERNOTNULLAUTO_INCREMENT,`name`VARCHAR(20)NOTNULLDEFAULT'',`birth`VARCHAR(20)NOTNULLDEFAULT'',`gender`VARCHAR(10)NOTNULLDEFAU
apache ftpserver-CentOS config
gengzg
apache
<server xmlns="http://mina.apache.org/ftpserver/spring/v1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://mina.apache.o
优化MySQL数据库性能的八种方法
AILIKES
sql mysql
1、选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的 性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使用VARCHAR这种类型也是多余的,因为CHAR(6)就可以很
JeeSite 企业信息化快速开发平台
Kai_Ge
JeeSite
JeeSite 企业信息化快速开发平台
平台简介
JeeSite是基于多个优秀的开源项目,高度整合封装而成的高效,高性能,强安全性的开源Java EE快速开发平台。
JeeSite本身是以Spring Framework为核心容器,Spring MVC为模型视图控制器,MyBatis为数据访问层, Apache Shiro为权限授权层,Ehcahe对常用数据进行缓存,Activit为工作流
通过Spring Mail Api发送邮件
120153216
邮件 main
原文地址:http://www.open-open.com/lib/view/open1346857871615.html
使用Java Mail API来发送邮件也很容易实现,但是最近公司一个同事封装的邮件API实在让我无法接受,于是便打算改用Spring Mail API来发送邮件,顺便记录下这篇文章。 【Spring Mail API】
Spring Mail API都在org.spri
Pysvn 程序员使用指南
2002wmj
SVN
源文件:http://ju.outofmemory.cn/entry/35762
这是一篇关于pysvn模块的指南.
完整和详细的API请参考 http://pysvn.tigris.org/docs/pysvn_prog_ref.html.
pysvn是操作Subversion版本控制的Python接口模块. 这个API接口可以管理一个工作副本, 查询档案库, 和同步两个.
该
在SQLSERVER中查找被阻塞和正在被阻塞的SQL
357029540
SQL Server
SELECT R.session_id AS BlockedSessionID ,
S.session_id AS BlockingSessionID ,
Q1.text AS Block
Intent 常用的用法备忘
7454103
.net android Google Blog F#
Intent
应该算是Android中特有的东西。你可以在Intent中指定程序 要执行的动作(比如:view,edit,dial),以及程序执行到该动作时所需要的资料 。都指定好后,只要调用startActivity(),Android系统 会自动寻找最符合你指定要求的应用 程序,并执行该程序。
下面列出几种Intent 的用法
显示网页:
Spring定时器时间配置
adminjun
spring 时间配置 定时器
红圈中的值由6个数字组成,中间用空格分隔。第一个数字表示定时任务执行时间的秒,第二个数字表示分钟,第三个数字表示小时,后面三个数字表示日,月,年,< xmlnamespace prefix ="o" ns ="urn:schemas-microsoft-com:office:office" />
测试的时候,由于是每天定时执行,所以后面三个数
POJ 2421 Constructing Roads 最小生成树
aijuans
最小生成树
来源:http://poj.org/problem?id=2421
题意:还是给你n个点,然后求最小生成树。特殊之处在于有一些点之间已经连上了边。
思路:对于已经有边的点,特殊标记一下,加边的时候把这些边的权值赋值为0即可。这样就可以既保证这些边一定存在,又保证了所求的结果正确。
代码:
#include <iostream>
#include <cstdio>
重构笔记——提取方法(Extract Method)
ayaoxinchao
java 重构 提炼函数 局部变量 提取方法
提取方法(Extract Method)是最常用的重构手法之一。当看到一个方法过长或者方法很难让人理解其意图的时候,这时候就可以用提取方法这种重构手法。
下面是我学习这个重构手法的笔记:
提取方法看起来好像仅仅是将被提取方法中的一段代码,放到目标方法中。其实,当方法足够复杂的时候,提取方法也会变得复杂。当然,如果提取方法这种重构手法无法进行时,就可能需要选择其他
为UILabel添加点击事件
bewithme
UILabel
默认情况下UILabel是不支持点击事件的,网上查了查居然没有一个是完整的答案,现在我提供一个完整的代码。
UILabel *l = [[UILabel alloc] initWithFrame:CGRectMake(60, 0, listV.frame.size.width - 60, listV.frame.size.height)]
NoSQL数据库之Redis数据库管理(PHP-REDIS实例)
bijian1013
redis 数据库 NoSQL
一.redis.php
<?php
//实例化
$redis = new Redis();
//连接服务器
$redis->connect("localhost");
//授权
$redis->auth("lamplijie");
//相关操
SecureCRT使用备注
bingyingao
secureCRT 每页 行数
SecureCRT日志和卷屏行数设置
一、使用securecrt时,设置自动日志记录功能。
1、在C:\Program Files\SecureCRT\下新建一个文件夹(也就是你的CRT可执行文件的路径),命名为Logs;
2、点击Options -> Global Options -> Default Session -> Edite Default Sett
【Scala九】Scala核心三:泛型
bit1129
scala
泛型类
package spark.examples.scala.generics
class GenericClass[K, V](val k: K, val v: V) {
def print() {
println(k + "," + v)
}
}
object GenericClass {
def main(args: Arr
素数与音乐
bookjovi
素数 数学 haskell
由于一直在看haskell,不可避免的接触到了很多数学知识,其中数论最多,如素数,斐波那契数列等,很多在学生时代无法理解的数学现在似乎也能领悟到那么一点。
闲暇之余,从图书馆找了<<The music of primes>>和<<世界数学通史>>读了几遍。其中素数的音乐这本书与软件界熟知的&l
Java-Collections Framework学习与总结-IdentityHashMap
BrokenDreams
Collections
这篇总结一下java.util.IdentityHashMap。从类名上可以猜到,这个类本质应该还是一个散列表,只是前面有Identity修饰,是一种特殊的HashMap。
简单的说,IdentityHashMap和HashM
读《研磨设计模式》-代码笔记-享元模式-Flyweight
bylijinnan
java 设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java
PS人像润饰&调色教程集锦
cherishLC
PS
1、仿制图章沿轮廓润饰——柔化图像,凸显轮廓
http://www.howzhi.com/course/retouching/
新建一个透明图层,使用仿制图章不断Alt+鼠标左键选点,设置透明度为21%,大小为修饰区域的1/3左右(比如胳膊宽度的1/3),再沿纹理方向(比如胳膊方向)进行修饰。
所有修饰完成后,对该润饰图层添加噪声,噪声大小应该和
更新多个字段的UPDATE语句
crabdave
update
更新多个字段的UPDATE语句
update tableA a
set (a.v1, a.v2, a.v3, a.v4) = --使用括号确定更新的字段范围
hive实例讲解实现in和not in子句
daizj
hive not in in
本文转自:http://www.cnblogs.com/ggjucheng/archive/2013/01/03/2842855.html
当前hive不支持 in或not in 中包含查询子句的语法,所以只能通过left join实现。
假设有一个登陆表login(当天登陆记录,只有一个uid),和一个用户注册表regusers(当天注册用户,字段只有一个uid),这两个表都包含
一道24点的10+种非人类解法(2,3,10,10)
dsjt
算法
这是人类算24点的方法?!!!
事件缘由:今天晚上突然看到一条24点状态,当时惊为天人,这NM叫人啊?以下是那条状态
朱明西 : 24点,算2 3 10 10,我LX炮狗等面对四张牌痛不欲生,结果跑跑同学扫了一眼说,算出来了,2的10次方减10的3次方。。我草这是人类的算24点啊。。
然后么。。。我就在深夜很得瑟的问室友求室友算
刚出完题,文哥的暴走之旅开始了
5秒后
关于YII的菜单插件 CMenu和面包末breadcrumbs路径管理插件的一些使用问题
dcj3sjt126com
yii framework
在使用 YIi的路径管理工具时,发现了一个问题。 <?php  
对象与关系之间的矛盾:“阻抗失配”效应[转]
come_for_dream
对象
概述
“阻抗失配”这一词组通常用来描述面向对象应用向传统的关系数据库(RDBMS)存放数据时所遇到的数据表述不一致问题。C++程序员已经被这个问题困扰了好多年,而现在的Java程序员和其它面向对象开发人员也对这个问题深感头痛。
“阻抗失配”产生的原因是因为对象模型与关系模型之间缺乏固有的亲合力。“阻抗失配”所带来的问题包括:类的层次关系必须绑定为关系模式(将对象
学习编程那点事
gcq511120594
编程 互联网
一年前的夏天,我还在纠结要不要改行,要不要去学php?能学到真本事吗?改行能成功吗?太多的问题,我终于不顾一切,下定决心,辞去了工作,来到传说中的帝都。老师给的乘车方式还算有效,很顺利的就到了学校,赶巧了,正好学校搬到了新校区。先安顿了下来,过了个轻松的周末,第一次到帝都,逛逛吧!
接下来的周一,是我噩梦的开始,学习内容对我这个零基础的人来说,除了勉强完成老师布置的作业外,我已经没有时间和精力去
Reverse Linked List II
hcx2013
list
Reverse a linked list from position m to n. Do it in-place and in one-pass.
For example:Given 1->2->3->4->5->NULL, m = 2 and n = 4,
return 
Spring4.1新特性——页面自动化测试框架Spring MVC Test HtmlUnit简介
jinnianshilongnian
spring 4.1
目录
Spring4.1新特性——综述
Spring4.1新特性——Spring核心部分及其他
Spring4.1新特性——Spring缓存框架增强
Spring4.1新特性——异步调用和事件机制的异常处理
Spring4.1新特性——数据库集成测试脚本初始化
Spring4.1新特性——Spring MVC增强
Spring4.1新特性——页面自动化测试框架Spring MVC T
Hadoop集群工具distcp
liyonghui160com
1. 环境描述
两个集群:rock 和 stone
rock无kerberos权限认证,stone有要求认证。
1. 从rock复制到stone,采用hdfs
Hadoop distcp -i hdfs://rock-nn:8020/user/cxz/input hdfs://stone-nn:8020/user/cxz/运行在rock端,即源端问题:报版本
一个备份MySQL数据库的简单Shell脚本
pda158
mysql 脚本
主脚本(用于备份mysql数据库): 该Shell脚本可以自动备份
数据库。只要复制粘贴本脚本到文本编辑器中,输入数据库用户名、密码以及数据库名即可。我备份数据库使用的是mysqlump 命令。后面会对每行脚本命令进行说明。
1. 分别建立目录“backup”和“oldbackup” #mkdir /backup #mkdir /oldbackup
300个涵盖IT各方面的免费资源(中)——设计与编码篇
shoothao
IT资源 图标库 图片库 色彩板 字体
A. 免费的设计资源
Freebbble:来自于Dribbble的免费的高质量作品。
Dribbble:Dribbble上“免费”的搜索结果——这是巨大的宝藏。
Graphic Burger:每个像素点都做得很细的绝佳的设计资源。
Pixel Buddha:免费和优质资源的专业社区。
Premium Pixels:为那些有创意的人提供免费的素材。
thrift总结 - 跨语言服务开发
uule
thrift
官网
官网JAVA例子
thrift入门介绍
IBM-Apache Thrift - 可伸缩的跨语言服务开发框架
Thrift入门及Java实例演示
thrift的使用介绍
RPC
POM:
<dependency>
<groupId>org.apache.thrift</groupId>