Hadoop与Spark的使用,HBase分布式数据库安装及操作实验

news2024/11/18 19:39:11

docker pull harisekhon/hbase:1.3
docker run -d --name hbase001 -p 16010:16010 harisekhon/hbase:1.3

进入环境

docker exec -it hbase001 bash
hbase shell

 

按照一个特定的值来查找

hbase(main):003:0> scan 'students',{FILTER=>"ValueFilter(=,'binary:20202200')"}
ROW                               COLUMN+CELL
 2                                column=info:snum, timestamp=1668598464963, value=20202200
1 row(s) in 0.0130 seconds

hbase(main):004:0> scan 'students',{FILTER=>"ValueFilter(=,'binary:19911005')"}
ROW                               COLUMN+CELL
 5                                column=info:snum, timestamp=1668598985356, value=19911005
1 row(s) in 0.0110 seconds

hbase(main):005:0> scan 'students',{FILTER=>"ValueFilter(=,'binary:20030127')"}
ROW                               COLUMN+CELL
 3                                column=info:snum, timestamp=1668599030042, value=20030127
1 row(s) in 0.0140 seconds

hbase(main):006:0> scan 'students',{FILTER=>"ValueFilter(=,'binary:20192200')"}
ROW                               COLUMN+CELL
 1                                column=info:snum, timestamp=1668598491261, value=20192200
1 row(s) in 0.0120 seconds

hbase(main):007:0> scan 'students',{FILTER=>"ValueFilter(=,'binary:19940411')"}
ROW                               COLUMN+CELL
 4                                column=info:snum, timestamp=1668599000006, value=19940411
1 row(s) in 0.0110 seconds

hbase的命令

  hbase> t.get 'r1'

  hbase> t.get 'r1', {TIMERANGE => [ts1, ts2]}

  hbase> t.get 'r1', {COLUMN => 'c1'}

  hbase> t.get 'r1', {COLUMN => ['c1', 'c2', 'c3']}

  hbase> t.get 'r1', {COLUMN => 'c1', TIMESTAMP => ts1}

  hbase> t.get 'r1', {COLUMN => 'c1', TIMERANGE => [ts1, ts2], VERSIONS => 4}

  hbase> t.get 'r1', {COLUMN => 'c1', TIMESTAMP => ts1, VERSIONS => 4}

  hbase> t.get 'r1', {FILTER => "ValueFilter(=, 'binary:abc')"}

  hbase> t.get 'r1', 'c1'

  hbase> t.get 'r1', 'c1', 'c2'

  hbase> t.get 'r1', ['c1', 'c2']

  hbase> t.get 'r1', {CONSISTENCY => 'TIMELINE'}

  hbase> t.get 'r1', {CONSISTENCY => 'TIMELINE', REGION_REPLICA_ID => 1}

修改列族

首先修改列族的参数信息,如修改列族的版本。例如上面的 Student 表,假设它的列族 Grades 的 VERSIONS 为 1,但是实际可能需要保存最近的 3 个版本,可使用以下命令完成:

alter 'Student', {NAME => 'Grades', VERSIONS => 3}

修改多个列族的参数,形式与 create 命令类似。

增加列族

如果需要在 Student 表中新增一个列族 hobby,使用以下命令:

alter ’student‘,'hobby'

删除列族

如果要移除或者删除已有的列族,以下两条命令均可完成:

alter 'student','delete'=>'hobby'

alter 'student',{name =>'hobby',method =>'delete'}

另外,HBase 表至少要包含一个列族,因此当表中只有一个列族时,无法将其删除。

  • describe命令查看“student”表的基本信息:describe 'student
  • 进入容器 docker exec -it hbase001 bash
  • 进入shell环境。hbase shell
  • 按exit,退出hbase shell的环境
  • 按ctrl+d 退出环境,来到虚拟机linux

 

 

docker搭建hadoop环境

拉取镜像

docker pull kiwenlau/hadoop:1.0

创建网络

docker network create --driver=bridge hadoop

如果失败

可以试试

docker network create --driver=nat hadoop

启动hadoop-master容器节点

docker run -itd --net=hadoop -p 50070:50070 -p 8088:8088 -p 9000:9000 --name hadoop-master --hostname hadoop-master kiwenlau/hadoop:1.0

启动hadoop-slave1容器节点

docker run -itd --net=hadoop  --name hadoop-slave1 --hostname hadoop-slave1 kiwenlau/hadoop:1.0

启动hadoop-slave2容器节点

docker run -itd --net=hadoop --name hadoop-slave2 --hostname hadoop-slave2 kiwenlau/hadoop:1.0

 进入hadoop-master容器并启动hadoop

docker exec -it hadoop-master  bash

./start-hadoop.sh

 查看hadoop进程

jps

 创建文件夹(以自己名字命名)

hdfs dfs -mkdir -p /jyj

 本地创建文本文件

echo "Hello word"> jyj1.txt

echo "Hello Hadoop"> jyj2.txt

hdfs dfs -put  *  /jyj

hdfs dfs -ls /jyj

  查看Web管理页面

 http://localhost:50070

 http://localhost:8088

2、Docker搭建Spark环境

 拉取镜像

docker pull bde2020/spark-master

启动spark

docker run -itd --name spark-master -h spark-master -e ENABLE_INIT_DAEMON=false bde2020/spark-master

进入spark容器内

docker exec -it spark-master bash

cd /spark

echo "Hello world,Hello docker,Hello spark">word.txt

cd bin

./pyspark

Spark简单编写词频统计程序

val textFile=sc.textFile('file:///spark/word.txt')

textFile.first()

 textFile.count() 

val linesWithSpark = textFile.filter(line => line.contains("Spark"))

linesWithSpark.count()

val wordCounts.collect() = textFile.flatMap(line => line.split(" ")).map(word => (word, 1)).reduceByKey((a, b) => a + b)

wordCounts.collect()

Ctrl +D退出pyspark

Spark-SQL简单程序编写

cd /spark/bin

./spark-shell

import org.apache.spark.sql.SparkSession

import spark.implicits._

val spark=SparkSession.builder().getOrCreate()

val df = spark.read.json("file:///spark/examples/src/main/resources/people.json")

df.show()

df.select(df("name"),df("age")+1).show()

df.sort(df("age").desc).show()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/11355.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Matplotlib教程一

文章目录一.简介二.Mapltlib的简单使用2.1 Pylot的API2.2 Pylab模块2.3 matplotlib简单绘图三.Mapltlib进阶使用3.1 面向对象思想画图3.2 Figure类3.3 Axes类3.4 画布上创建多个子图3.5 图中添加网格3.6 设置图片轴线3.7 保存图片一.简介 matplotlib是最初由John D.Hunter于20…

Shell脚本编程(一) —— 变量定义(用户自定义变量、位置变量、预定义变量、环境变量)

目录 1、用户自定义变量 2、位置变量 3、预定义变量 4、环境变量(一次性全局变量) 5、永久全局变量(重启以后依然存在的变量) (1) 本地变量文件 (2) 全局变量文件 1、用户自定义变量 定义变量: 变量名value …

九、propTypes验证

目标 理解类型验证的必要性 灵活掌握类型验证的使用 知识点 在给react组件传属性的的时候,我们可以定义属性的类型,此时我们需要下载prop-types这个库。 安装prop-types npm install prop-types -S引入和使用 import PropTypes from prop-types;cla…

winform语言切换C#设计笔记(八)

一、修改当前区域性 string languageName“zh-CN”; Thread.CurrentThread.CurrentUICulture new CultureInfo(languageName); 二、定义语言切换类Mullanguage或方法如下&#xff1a; private static Dictionary<string, ResourceManager> ResManagerDic new Dictionar…

【ESP32_8266_WiFi (十五)】ESP8266 OTA 操作说明

文章目录ESP8266 OTA 操作说明1 通过数据线上传初始示例程序2 通过Arduino IDE正确选择OTA端口3 认证并上传程序4 OTA的局限性ESP8266 OTA 操作说明 所谓OTA&#xff0c;就是Over-The-Air的缩写。有人将其翻译为“空中下载”&#xff0c;也有翻译为“隔空传输”。无论如何翻译…

Java高并发编程卷二(二) 锁

文章目录三 锁3.1 偏向锁3.1.1 为啥需要偏向锁&#xff1f;3.1.2 原理3.1.3 解释3.1.4 案例3.1.5 撤销与膨胀3.1.5.1 撤销3.1.5.2 膨胀3.2 轻量级锁3.2.1 为啥需要轻量级锁&#xff1f;3.2.2 原理3.2.3 案例3.2.4 分类3.2.5 膨胀3.3 重量级锁3.3.1 原理3.3.2 对象监视器详细介绍…

zookeeper学习笔记

zookeeper学习笔记1.Zookeeper概念2.Zookeeper命令操作2.1数据模型2.1.1数据结构2.1.2节点类型2.2服务端命令2.3客户端命令-基本命令2.4客户端命令-高级点命令3.Zookeeper JavaAPI操作3.1Cutor介绍3.2Cutor API常用操作-增删改查3.2.1建立连接3.2.2创建节点3.2.3删除节点3.2.4修…

js 回到顶部逻辑实现和elementUI源码解析

回到顶部 大家或多或少都会遇到“回到顶部”这样的需求&#xff0c;在此分享这个技术点以及可能遇到的问题。再分析element源码。 回到顶部代码实现 <!DOCTYPE html><html lang"en"><head><meta charset"UTF-8"><meta http-…

基于PHP+MySQL的个人博客系统毕设

随着时代和网络的发展,人们越来越希望通过多种模式来展示自己。于是个人博客就出现了,它可以更好的让人们来记录自己的工作和学习方式。博客不仅仅可以让自己抒发个人感情,还可以展示自己真实的生活,从而建立起一种友好的交友平台。 PHP个人博客系统毕设系统分为前台和后台两部…

Python每日一练 02

Python每日一练 02 文章目录Python每日一练 02一、对象二、对象属性三、赋值一、对象 Python中所有数字、序列、集合、映射、类、实例、异常、模块、类与类的实例、函数、方法、布尔值、空值等都被称为对象。 二、对象属性 每个对象都有3个基本属性&#xff1a; 类型(type)…

Flink-源算子Source(获取数据源)的使用

5.1 整体介绍 获取执行环境读取数据源定义基于数据的转换操作定义计算结果的输出位置触发程序执行 5.2 创建集成环境 5.2.1 获取执行环境 批处理getExecutionEnvironment 提交命令行设置 bin/flink run -Dexecution.runtime-modeBATCH ...代码 StreamExecutionEnvironme…

pip Command Not Found – Mac 和 Linux 错误被解决

使用Python时&#xff0c;可能需要安装和使用某些软件包。有一个命令可用于’pip‘ 使用pip&#xff0c;您可以安装、升级和卸载各种Python包。在本文中&#xff0c;您将学习如何使用它&#xff0c;以及如何处理pip错误。 如何使用 pip Pip是一个可以在Linux或Mac命令行上使用…

HTTP(http+抓包Fiddler+协议格式+请求+响应)

目录 &#x1f984;1. 了解HTTP &#x1f984;2. 抓包 &#x1f984;3. http协议格式 &#x1f432;3.1 完整的HTTP请求格式 &#x1f432;3.2 完整的HTTP响应的格式 HTTP请求 &#x1f984;4. 认识URL &#x1f984;5. http中的"方法" &#x1f432;5.1…

智能与工程学院2022级计算机朱元华

智能与工程学院 《高级语言程序设计》 小组学习任务书 第 1 次 专业年级&#xff1a; 2022级计算机 指导教师&#xff1a; 朱元华 2022-2023学年 第 1 学期 一、任务 XXX信息管理系统的需求分析和功能设计 二、分组形式 学生自由组合&#xff0c;5-8人为一组&#xff0c;根据…

Tuxera NTFS2023Mac读写ntfs磁盘工具

Tuxera Ntfs for mac2023是Mac中专用于读写外置存储的工具&#xff0c;具有强大的磁盘管理和修复功能&#xff0c;它在Mac上完全读写NTFS格式硬盘&#xff0c;快捷的访问、编辑、存储和传输文件。能够在 Mac 上读写 Windows NTFS 文件系统。Tuxera NTFS 实现在Mac OS X系统读写…

【Spring】——6、按照条件向Spring容器中注册bean

&#x1f4eb;作者简介&#xff1a;zhz小白 公众号&#xff1a;小白的Java进阶之路 专业技能&#xff1a; 1、Java基础&#xff0c;并精通多线程的开发&#xff0c;熟悉JVM原理 2、熟悉Java基础&#xff0c;并精通多线程的开发&#xff0c;熟悉JVM原理&#xff0c;具备⼀定的线…

静态时序分析简明教程(六)]时钟组与其他时钟特性

生成时钟的sdc约束方法一、写在前面1.1 快速导航链接二、时钟组2.1 引入时钟组2.2 set_clock_group2.2.1 -name2.2.2 -group clock_list2.2.3 -logically_exclusive|-physically_exclusive|-asynchronous2.2.4 -allow_path2.2.5 -comment三、其他时钟特性3.1 过渡时间3.2 偏移与…

【Linux】进程间通信——管道

目录 一、概念 二、管道函数 1.popen函数 2.pclose函数 3.文件函数 三、管道的操作 1.管道的分类 无名管道 有名管道 管道的特点 四、管道的实现 操作系统对进程之间相互保护 两个进程之间相互通信 前言&#xff1a; 进程间通信的方法/IPC机制都有哪些&#xff1a; …

求二进制中1的个数的三种方法

求二进制中的1的个数 文章目录第一种方法&#xff1a;模2除2第二种方法&#xff1a;利用操作符右移后与1第三种方法&#xff1a;该数与上比它小1的数&#xff08;最优的方法&#xff09;第一种方法&#xff1a;模2除2 首先明白如何得到一个数的十进制的每一位&#xff1f; 以1…

PHP代码审计入门-DVWA靶场CSRF篇

0x00 写在前面 从零学习php&#xff0c;最终目的实现代码审计入门&#xff0c;软件采用sublime text&#xff0c;环境使用phpstudy搭建&#xff0c;数据库是navicat&#xff0c;需要有基本的前端基础、简单的phpmysql后端基础、渗透知识和漏洞原理&#xff0c;文章跟随流沙前…