Golang基本语法
基本语法
变量
1234567891011121314151617181920212223package mainimport ( "fmt" "math")func main() { var a = "initial" var b, c int = 1, 2 var d = true var e float64 f := float32(e) g := a + "foo" fmt.Println(a, b, c, d, e, f) fmt.Println(g) const s string = "constant" const h = 500000000 const i = 3e20 / h fmt.Println(s, h, i, math.Sin(h), math.Sin(i))}
123initial 1 2 true 0 0initialfoo ...
ElasticSearch环境搭建
版本说明
以下下载的ElasticSearch与Kibana版本号均为7.17.3
前半部分为自己电脑的Windows系统上部署,后半部分使用Docker在服务器端部署
下载解压
官网下载ElasticSearch安装包
Download Elasticsearch | Elastic
目录结构
解压后目录结构如下,
config文件夹
config文件夹下包含了一些配置信息,
jvm.options
jvm.options中包含了jvm相关启动参数
如图注释说明,堆内存大小由ES自动根据可用内存进行配置,当然我们也可以手动修改-Xms, -Xmx两个参数,分别表示应用程序初始堆内存,应用程序最大堆内存。
elasticsearch.yml
elasticsearch.yml中包含了es的配置信息
如图默认的http端口为9200
lib文件夹
存放了ElasticSearch的相关jar依赖
其中的lucene在百度百科中介绍如下,
Lucene_百度百科 (baidu.com)
Lucene是apache软件基金会 jakarta项目组的一个子项目,是一个 ...
大数据技术及应用-题库
Hadoop有多种浏览HDFS文件目录的方式,下列方式错误的是:
A、通过HDFS命令
B、通过Web浏览器
C、通过Eclipse中的Project Explorer
D、通过SSH客户端工具
正确答案: D
2. Hadoop配置文件中,yarn-site.xml文件的作用是:
A、保存从节点信息
B、配置YARN框架
C、配置MapReduce框架
D、配置Hadoop的HDFS系统的命名
正确答案: B
3. 下列说法错误的是:
A、Map函数将输入的元素转换成<key,value>形式的键值对
B、MapReduce框架采用了Master/Slave架构,包括一个Master和若干个Slave
C、Hadoop框架是用Java实现的,MapReduce应用程序则一定要用Java来写
D、不同的Map任务之间不能互相通信
正确答案: C
4. 下列文件不属于Hadoop3.x集群部署时必需配置的是:
A、worker
B、hadoop-env.sh
C、profile
D、yarn-site.xml
正确答案: C
5. 关于NameNode和DataNode描 ...
大数据技术及应用-期末复习
大数据概述
概念
BigData, 指无法在一定时间范围内用常规工具软件进行捕捉、管理和处理的数据的集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力来适应海量、高增长率和多样化的信息资产。
特性
6V特征
价值密度低(Value)
高速性(Velocity)
可变性(Variability)
海量性(Volume)
多样性(Variety)
真实性(Veracity)
关键技术
大数据的采集、导入/预处理、统计/分析、大数据挖掘
与云计算,物联网的关系
物联网、大数据和云计算三者互为基础,物联网产生大数据,大数据需要云计算。物联网将物品和互联网连接起来,进行信息交换与通信,以实现智能化识别、定位、跟踪、监控和管理的过程中,产生的大量数据,云计算解决万物互联带来的巨大的数据量,所以三者互为基础,又互相促进。
Hadoop
简介
Hadoop框架的核心设计是HDFS和MapReduce。
HDFS为海量数据提供了存储能力。MapReduce为海量数据提供了计算能力。
Hadoop是一个专为离线的大规模数据分析而设计的,而不适合 ...
Spark Shell简单应用
需求分析
实现给定一个文件,统计其中单词出现的数目。
准备工作
新建文件test.txt如下
123I am a studentI learn hadoopI learn MapReduce
上传到hdfs上
hadoop fs -put test.txt /user/wordcount.txt
Spark shell
输入如下命令,即可实现词频统计
12345sc.textFile("/user/wordcount.txt").flatMap(x=>x.split(" ")).map(x=>(x, 1)).reduceByKey(_+_).collect()
踩坑
我这里出现了如下提示,并且计算停滞不前
12022-04-26 00:36:13,830 WARN scheduler.TaskSchedulerImpl: Initial job has not accepted any resources; check your cluster UI to ensure that workers are registe ...
Spark环境搭建
环境准备
我这里环境基于
Hadoop环境搭建
MapReduce环境搭建
Hive环境搭建
虚拟机配置也均基于上述环境
Spark集群搭建完毕之后,集群拓扑如下
Spark下载
进入官网下载页面,选择一个版本下载
Downloads | Apache Spark
我这里下载的版本是
spark-3.2.1-bin-without-hadoop.tgz
解压安装包
12tar -zxvf spark-3.2.1-bin-without-hadoop.tgzmv spark-3.2.1-bin-without-hadoop /opt
配置Spark
进入spark安装目录的conf文件夹下
配置workers
注意在spark 3.x以前版本是slaves文件,现在最新的3.x版本为workers文件
复制workers cp workers.template workers
修改workersvim workers
删除localhost添加如下内容
123node1node2node3
配置spark-defaults.conf
复制配置文件cp spark-defa ...
Hive环境搭建
环境准备
Hive需要依赖如下环境
集群的拓扑如下
安装MySQL
安装MySQL
123456789101112# 安装mysql的yum源yum install wgetwget https://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpmyum install mysql80-community-release-el7-1.noarch.rpmyum update -y# 安装mysqlyum install mysql-community-server# 配置mysql的开机自启systemctl start mysqldsystemctl enable mysqld
安装踩坑
我这里安装报错提示如下
12345678910warning: /var/cache/yum/x86_64/7/mysql80-community/packages/mysql-community-common-8.0.28-1.el7.x86_64.rpm: Header V4 RSA/SHA256 Signature, ...
Leetcode-398-随机数索引
题目
398. 随机数索引
给定一个可能含有重复元素的整数数组,要求随机输出给定的数字的索引。 您可以假设给定的数字一定存在于数组中。
注意:
数组大小可能非常大。 使用太多额外空间的解决方案将不会通过测试。
示例:
int[] nums = new int[] {1,2,3,3,3};
Solution solution = new Solution(nums);
// pick(3) 应该返回索引 2,3 或者 4。每个索引的返回概率应该相等。
solution.pick(3);
// pick(1) 应该返回 0。因为只有nums[0]等于1。
solution.pick(1);
解题
方法一(暴力)
遍历一遍数组nums,每个nums的元素都作为一个key,将下标记录到一个哈希表中的对应key所属的集合中,pick时候查找哈希表,在查询出的集合中随机挑选一个返回。
123456789101112131415class Solution {public: unordered_map<int, vector<int>> mv; ...
Hive简单应用
第一步:创建数据库
首先通过show databases命令查看已存在的数据库。然后使用create命令创建一个新的数据库,在本实验中命名为“demo+学号后4位”。
show databases;
1CREATE DATABASE IF NOT EXISTS demo0740;
12345678910hive> CREATE DATABASE IF NOT EXISTS demo0740;OKTime taken: 0.074 secondshive> show databases;OKdefaultdemo0740testTime taken: 0.038 seconds, Fetched: 3 row(s)
第二步:使用创建的数据库
使用USE命令,将你创建的demo数据库设置为当前使用的数据库。
use demo0740;
第三步:创建表
通过create table命令创建一个表,表名users,创建完成后,用describe 表名 命令查看建表结果,确保建表成功。表属性包含:
id:int,记录编号,具有唯一性
uid:string,用户id
item_i ...
HBase基本操作
常用HBase Shell命令
创建表
12/* 创建表,cf1,cf2为列族名 */create 'table_name','cf1','cf2',...
写入数据
12/* 插入或更新数据,cf为列族名,cq为列名,value为要写入的数据 */put 'table_name', 'row_key', 'cf:cq', 'value'[, timestamp]
读取数据
12345678/* 读取单行数据 */get 'table_name', 'row_key'/* 读取列族数据 */get 'table_name', 'row_key', 'cf'/* 读取单元格数据 */get 'table_name', 'row_key', 'cf:cq'
删除数据
12345/* 删除列 * ...