Other

Linux__hadoop免密登录&JavaToJDFS

配置ssh免登陆 生成ssh免登陆密钥 cd ~,进入到我的home目录 cd .ssh/ ssh-keygen -t rsa (四个回车) 执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥) 将公钥拷贝到要免登陆的机器上 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys cat是查看 或 ssh-copy-id -i localhost关闭所有stop-all.sh开启所有start-all.shhadoop写java代码 1.创建一个工程 2.lib包放在工程目录下,并将lib包添加到库 3.写Java文件 import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.junit.Before; import org.junit.Test; import java.net.URI; windows系统的hadoop可以不配置系统变量,直接配置Path public class JavaToHDFS{ //定义类变量:文件系统,用来连接hdfs FileSystem fs=null; //预处理 @Before public void init() throws Exception{ fs=FileSystem.get(new URI(hdfs://192.168.153.129:9000),new Configuration(),root); } @Test public void mkdir(){ System.out.println(fs) } } 4.在windows系统安装带有winutils.exe的hadoop,并配置环境变量 可以不配置系统变量,直接配置Path

linux系统-网络工具使用

1 .查看网络(Network)运行状态相关工具 1)nload监控总体带宽使用情况 epel源安装 nload 是一个实时监控网络流量和带宽使用情况,以数值和动态图展示进出的流量情况 界面操作 上下方向键、左右方向键、enter键或者tab键都就可以切换查看多个网卡的流量情况 按 F2 显示选项窗口 按 q 或者 Ctrl+C 退出 nload 在nload后面指定网卡,可以指定多个,按左右键分别显示网卡状态 ping -s 65500 172.18.2.146 -f nload -u M -t 500 ens32 -u 设置单位:显示两种单位一种是显示Bit/s、一种是显示Byte/s,默认是以Bit/s,也可不显示/s #-u h|b|k|m|g|H|B|K|M|G 表示的含义: h: auto, b: Bit/s, k: kBit/s, m: MBit/s, H: auto, B: Byte/s, K: kByte/s, M: MByte/s -t #设置刷新间隔:默认刷新间隔是100毫秒,可通过 -t 命令设置刷新时间(单位是毫秒)  nload ens32 //出现的页面会实时刷新,后面可以跟-u <单位>来指定流量的单位,也支持h人类易读 Device ens32 [192.168.80.128] (1/1): //当前是哪一块网卡,可以按<Enter>切换 ============================================================================================================= Incoming: //进入当前网卡的流量 ################ Curr: 35.09 MBit/s //当前流量 ################ Avg: 35.

简单算法--插入排序

插入排序 将第一个元素标记为已排序 对于每一个未排序的元素 X “提取” 元素 X i = 最后排序过元素的索引 到 0 的遍历 如果当前元素 j > X 将排序过的元素向右移一格 跳出循环并在此插入 X 1 function cha(arr){ 2 //先遍历就完事! 3 for(let i=1; i<arr.length; i++){ 4 let k = arr[i] 5 let j = i-1 //这是前一位的下标 6 while(j>=0 && arr[j]>k){ 7 //如果在中途有数据插入,依然可以进行比较; 8 arr[j+1] = arr[j] //比k大的值就往后排 9 j-- 10 } 11 arr[j+1]=k 12 } 13 }  

MOOC《程序设计入门——C语言》翁恺 第六周编程练习

1高精度小数(10分) 题目内容: 由于计算机内部表达方式的限制,浮点运算都有精度问题,为了得到高精度的计算结果,就需要自己设计实现方法。 (0,1)之间的任何浮点数都可以表达为两个正整数的商,为了表达这样两个数的商,可以将相除的结果以多个整数来表示,每个整数表示结果的一位。即商的第一位用一个整数来表示,第二位用另一个整数来表示,以此类推,就可以输出一个高精度的除法结果了。 如16/19的结果0.8421052631...就可以依次输出8、4、2、1、0、5、2、6、3、1...。 而除法的过程,则可以模仿人工列竖式做除法的方式,先将被除数乘以10,得到一位商以后,将余数乘以10作为下一轮计算的被除数: 160/19->8余8 80/19->4余4 ... 当某次余数为0时,则表明除尽。 现在,请写一个程序,输入一个分数,计算出它的小数形式。无论是否可以除尽,输出最多小数点后200位。 输入格式: 形如 a/b 的两个数,其中10<=a<b<100。也就是说,这个小数一定是小于1的正数。 提示:输入是带着两个数中间的“/”的,所以scanf应采用“%d/%d”这样的输入格式。 输出格式: 形如 0.xxxxxxxxx 的小数,小数点后最多200位。输出结束的时候要带着回车换行。如果a/b是一个有限不循环小数,则输出完所有的有效位就可以了,不需要再输出后面的0来凑满200位。 输入样例: 16/19 输出样例: 0.84210526315789473684210526315789473684210526315789473684210526315789473684210526315789473684210526315789473684210526315789473684210526315789473684210526315789473684210526315789473684210526315789473684 代码: #include <stdio.h> void num(int a,int b); int main() { int n,m; scanf(%d/%d,&n,&m);//输入时,除号/要输入 num(n,m); return 0; } void num(int a,int b) { int num[200]; int i=0,j; if(a>=10 && a<b && b<100){ //循环200次将算出的数存储到num数组里 printf(0.); for(;i<200;i++){ num[i] = a*10/b;//算出商 printf(%d,num[i]); a = a*10%b;//算出余数 if(a==0){ //当余数为0,则退出循环,不再进行计算 break; } } printf(\n); } }

【Linux的基本命令(超精简版)】<新手必敲>

(Linux的基本命令) 切换路径:cd 查看当前目录:pwd 查看当前所有目录:ls 查看所有目录所有信息:ls -la 关机:poweroff 或者 shutdown -h now 重启:reboot 或者 shutdown -r now 查看IP地址:ifconfig 查看当前用户:whoami 查看所有用户:who 切换用户:su 用户名 查看内存:free -m 查看磁盘分区:fdisk -l 创建文件夹:mkdir 文件夹名 创建文件:touch 文件名 清屏:clear 删除文件夹:rmdir 文件夹名(删除空文件) 强硬删除文件夹(强力推荐):rm -rf 文件夹名 复制文件:cp 文件名 新文件名 复制文件夹:cp -r 文件夹名 (可加路径) 剪切:mv 文件名 新文件名(可理解为重命名) 查看文件内容:cat 或者less 或者more(可以分页) 动态查看文件内容:tail -f 文件名 打包并压缩:tar -zcvf 包名.tar.gz 文件名1 文件名2 解包并解压:tar -zxvf 包名.tar.gz 授权:chmod 777 文件名(777:所有人赋予所有权限) 【可读(r:4),可写(w:2),可执行(x:1) 】 查看防火墙状态:systemctl status firewalld 关闭防火墙:systenctl stop firewalld

JavaScript-16

1.数据可视化  数据可视化的主要目的:借助图形化的手段,清晰有效地传递与沟通信息  数据可视化可以把数据转换成图形,揭示蕴含在数据中的规律和道理 常用的数据可视化库 D3.js:目前Web端评价最高的javascript可视化工具库 ECharts.js:百度出品的一个开源JavaScript数据可视化库 Highercharts.js:国外的前端数据可视化库,非商用免费 AntV:蚂蚁金服全新一代数据可视化解决方案 Echarts使用五部曲 下载并引入echarts.js文件 准备一个具备大小的DOM容器 初始化echarts实例对象 指定配置项和数据(option) 将配置项设置给echarts对象 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset=utf-8 /> 5 <title> Echarts体验</title> 6 <!-- 1.下载引入echarts文件 --> 7 <script src=js/echarts.js></script> 8 </head> 9 <body> 10 <!-- 2.准备一个盒子用来装生成的图表 注意:这个盒子必须具备大小 --> 11 <div id=main style=width: 600px;height:400px;></div> 12 <script> 13 // 3.实例化echarts对象 14 var chart = echarts.init(document.querySelector(#main)); 15 // 4.

Java日常

学习Java第3天的小总结 一、感受总结 Java是目前市场上的主流语言,相对于C和C++语言来说,竞争更为激烈,而这一大特点也在激励着我不断去探索,去学习; 在下载相应编译环境的过程中,由于IDEA的环境相对于其他的编译环境配置特别符合本人地审美,就不停地想去学习Java,想去看一眼是否还会出现更为漂亮的环境,咳咳,这可能也是我学习Java道路上的一大动力吧! 话不多说,上经验了解。 二、经验获得 首先, 由于我有C和C++的语言基础,目前学习Java并不费劲(也可能是我学习的是比较基础的知识吧),甚至在其中还获得了一点点的成就感; 再次, 在学习Java时,最为明显的一个特点是,Java语言的编译函数在我看来远远多于另外两门语言,例如,字符串中的StringBuilder、toString、ArrayLIst、.append等多种函数,虽然我这么说,但是重在理解嘛,多打几遍代码就记住啦! 然后, 不得不说的是,Java语言的运用需要导包也是让我开了眼界诶,比如,数据的输入需要import java.util.Scanner;的导包才可以正常进行数据输入,随机数的运用同样如此;语言表象变化万千,但它们的本质还是一样一样的,我对这一点体会最深的是Java类的应用,当前我正在学习C++的类,二者差别真的不大; 最后, 我想说,兴趣是我们最好的老师,我本人就是因为喜欢Java的配置环境(有点小小的跑题)和对计算机编程有兴趣,才能够在课余时间控制住自己,去学习这门语言,希望看到这篇文章的各位,都有着对计算机专业的兴趣与热爱,在未来的计算机领域,成为一颗闪耀的新星! 就分享这些啦(毕竟我学到的东西还不是很多),期待下次的分享啊!

java io流 对文件进行判断 看指定文件是否纯在

package com.hqyj.api.io;/** * file :文件路径或者对象 不描述文件本身 */import java.io.File;public class FileTest { public static void main(String[] args) { //File 不知道路径 不知道存不存在 File file = new File(java1.txt); System.out.println( file);//java1.txt //判断文件是否存在 System.out.println(file.exists());//false //1 学习构造方法 // 1.1File(String pathname) //File 不知道路径 不知道存不存在 File file1= new File(D:/java/javase/file1.txt); System.out.println( file1); System.out.println(file1.exists());//true //1.2File(String parent,String child) String parent =C:\\Users\\13628\\IdeaProjects\\javase-220302\\java-coreprogamming\\src\\com\\hqyj\\api\\io; File file3 = new File(parent, FileTest.java); System.out.println(file3存在吗:+file3.exists());//true //相对路径是从当前子工程开始的 File file2 = new File(filetest.txt); System.out.println(file2.exists()); /** * 路径分隔表示符 * 1正斜杠/(通用的) * 2反斜杠\\(win独有的) */ }}

4.3数据库建模设计:三个阶段

4.3数据库建模设计 由4.1节可知,数据库设计分为概念设计、逻辑设计和物理设计3个阶段, 设计人员在各个阶段分别进行概念数据模型设计、逻辑数据模型设计和物理数据模型设计。 4.3.1概念数据模型设计(CDM) 采用E-R模型描述系统的数据对象组成结构 1.抽取与标识实体 【例】针对一个图书销售管理系统数据需求,我们可以抽取出“图书”“商店”“销售”“折扣”“作者”“出版社”实体 2.分析与标识实体联系 【例】分析各种实体之间的联系,给出该联系的名称 3.定义实体属性与标识符 给出属性名称、给出标识符、取值约束等说明; 【可选项:定义属性值域,以限定属性的取值范围、属性是否允许 空值、属性的默认值、属性值检查规则等。】 4.检查与完善概念数据模型 一个较大规模系统或复杂系统的概念数据模型设计不可能一步完成,需要不断完善 【例】对图书销售管理系统E-R模型,我们增加“库存”实体,并与“图书”“商店”实体建立联系。又增加“图书类别”实体,并将它与“图书”实体建立联系。 4.3.2逻辑数据模型设计(LDM) 是概念数据模型在系统设计角度的延伸,它使系统的E-R模型图体现数据库模型的针对性【规范化】 逻辑数据模型与概念数据模型的主要区别如下。 (1)逻辑数据模型比概念数据模型对信息系统数据结构的描述更具体,不但有业务实体,也有新增的、便于信息 化处理的数据实体。 (2)逻辑数据模型将概念数据模型的多对多实体联系转化为易于关系数据库实现的一对多实体联系。 (3)逻辑数据模型将概念数据模型中的标识符依赖实体进一步细化,并区分主键标识符和外键标识符,以便于数 据模型规范化处理。 1.CDM/LDM转换 【例】图书销售管理系统概念数据模型转换为逻辑数据模型 属性定义加强,如在每个实体中分别标识主键标识符及外键标识符。 将CDM中存在的实体间多对多联系,转换为通过关联实体与原实体之间的一对多联系 (如“编著”实体)在(“作者”“图书”)之间,直接转换为一对多 2.规范化与完善逻辑数据模型设计 使达到3NF范式,即实体中非键属性仅依赖于主键属性。 【例】通过分析图4-21所示的图书销售管理系统逻辑数据模型 1、“作者”实体不符合关系数 据库设计规范的3NF范式,其中的“省”“城市”属性存在传递依赖。 2、新引入的关联实体“编著”的名称不太确 切,其属性仅仅只有所依赖实体的标识符,缺少自身属性。 完善设计 1、增加“地区表”实体,并将它与“作者”实体建立联系,同时删 除“作者”实体中的“省”“城市”属性,从而在“作者”关系表中可通过地区编码方式实现一致的地区名称输入。 2、修订关联实体“编著”名称为“编著排名”,并增加“排位顺序”属性,从而使该实体数据具有实际意义。 4.3.3物理数据模型设计 不再使用E-R图来描述数据模型结构,而需要考虑将实体如何转换为数据库表 设计步骤 (1)将E-R模型图中每一个实体对应转换成一个关系表,实体属性转换为对应表的列,实体标识符转换为对应表 的主键。 (2)将实体联系转换为关系表之间的主、外键关系,并定义表之间的参照完整性约束。 (3)完善系统的关系模型图,并在模型中扩展定义视图、索引、存储过程及触发器等数据库对象。 1.实体到关系表的转换 首先为每个实体定义一个关系表,其表名与实体名相同; 属性----表中的列 标识符----表中的键 主键标识符----主键 外键----外键 代理键设置【可选】 当关系表中的候选键都不适合当主键时(例如,候选键的数据类型为复杂数据或者候选键 由多个属性组成),就可以使用代理键作为主键。 列特性设置【可选】 我们在将实体的属性转换为关系表的列时,必须为每个列定义特性,包括数据类型、空值状态、默认值及取值约 束。 【需要注意的是,只有设置了not null标注,才可以设置默认值】 【例】

SQL--表关联与子查询

1、(INNER) JOIN :内链接,常与where配合做条件筛选,这种拼接得到最少的数据量,效率较高,但没有left join使用频率高,此方式相当于没有主表,后期数据处理时常出现因需要用到的数据被排除而需要返工重新拼接数据。 2、LEFT JOIN :左(外)连接,即左为主表,最常用的拼接。 3、RIGHT JOIN :右(外)连接与LEFT JOIN 其实等价,一般习惯为左边主表,所以right join 不常用 4、FULL (OUTER) JOIN :即保留左右未匹配上的数据,一般用于多数据源的整合拼接,如table_A包含用户的a、b类信息,table_B包含用户的c、d类信息,但时两个表包含的用户量并不相同,此时这需要用到全拼接。  select nvl(a.a,''),nvl(a.b,'')  ,nvl(b.c,''),nvl(b.d,'')  from table_A a full join table_B b on a.user_id = b.user_id  MySQL好像没有全拼接吧,需要用union 方式转换一下,貌似。。。 ON 拼接条件,MySQL 允许非等值(>,<...)拼接,hive 只支持等值链接 即 (=) 5、CROSS JOIN 或 ,: select * from tb_A,tb_B ,这种拼接方法为笛卡儿积,得到所有可能的连接结果,此拼接不需要on 拼接条件  select * from table_A,table_B  在一些特殊的情况下,尤其是时间纵向的数据分析有奇效,这种拼接导致数据量指数膨胀,易造成数据倾斜,运算阻塞奔溃,要慎用。。。 WHERE 筛选条件 6、union all :上下拼接(并集),不去重  union :上下拼接,去重,且按默认方式排序 7、子查询:即把其中一个select的结果作为另一个select 的where 筛选条件