技术文章

hive数据的导入导出方式

Deadly 提交于 2021-02-17 23:28:03
导入方式 1、load方式 load data local inpath 'local_path' into table tb_name; 从本地复制了文件到表的路径下 应用场景:大部分的使用,文件几乎都是默认现在本地的 2、load方式,HDFS load data inpath 'hdfs_path' into table tb_name; 将文件移动到了表的路径下 应用场景:更适合大数据量的存储 3、 load方式,overwrite load data inpath 'hdfs_path' overwrite into table tb_name; 应用场景:适合一些重复写入的表(临时表),作为一个过渡使用 4、子查询方式,as create table tb_name as select sql; 应用场景:对于数据查询结果的保存 5、insert方式 传统关系型数据库中,insert是插入一个值 在hive中insert into table后面还是跟一个语句(select语句) insert into table select sql; 举例: create table emp_insert like emp; insert into table emp_insert select * from emp; 6、location 指定一个文件夹,然后将数据导入进去

Linux内核TCP/IP参数分析与调优

微笑、不失礼 提交于 2021-02-17 23:27:22
1.下图是数据通信的一个过程:TCP三次握手. TCP数据传输. TCP的四次断开 SYN:(同步序列编号,Synchronize Sequence Numbers)该标志仅在三次握手建立的时候有效。表示一个新的TCP连接请求。 ACK:(确认编号,Acknowledgement Number)是对TCP请求的确认标志,同时提示对端系统已经成功连接所有数据。 FIN(结束标志,Finish)用来结束一个TCP会话,但对应端口仍处于开放状态,准备接受新数据。 下面分别解析11个阶段的Server端和Client端的TCP状态。 1)、LISTEN:首先服务端需要打开一个socket进行监听,状态为LISTEN. /* The socket is listening for incoming connections. 侦听来自远方TCP端口的连接请求 */ 2)、SYN_SENT:客户端通过应用程序调用connect进行active open.于是客户端tcp发送一个SYN以请求建立一个连接.之后状态置为SYN_SENT. /*The socket isactively attempting toestablish a connection. 在发送连接请求后等待匹配的连接请求 */ 3)、SYN_RECV:服务端应发出ACK确认客户端的SYN,同时自己向客户端发送一个SYN.

IDEA中GitLab的使用

萝らか妹 提交于 2021-02-17 23:26:26
  首先安装git https://git-scm.com/downloads/ 下载对应的版本   下载好了,安装打开 Windows. 打开之后2步走, 与git连接 首先选择仓库,进行git init本地建立,然后配置你的名字与邮箱 git config --global user.name “用户名”,git config --global user.email “邮箱” 然后到当前目录生成公钥ssh-keygen -t rsa -C “你的邮箱” 建立之后去当前目录 寻找到钥匙,复制钥匙 然后去github上,点击自己头像,setting 选择SSH|key 标题随便起,key就是你刚刚在目录里的文件里复制的内容 然后add就行 之后就说明已经连接了,然后创建个Repository 打开git Bash 首先将你需要的上传的东西存放到你的指定仓库 然后add 文件名(带后缀的) git commit -m "版本说明" 之后就push 它 然后登录gitHub就会发现仓库里多了它,需要的话就pull拉它下来 现在进入正题 IDEA如何使用GitLab 1.打开IDEA,setting=>设置git路径 setting=>设置gitHub路径,都进行test. 2.打开你的项目 创建git 这里使用的是http 第一个是 gitLab里的项目url

啥?学Vue3的源码之前还得学习这个?!

大憨熊 提交于 2021-02-17 23:25:54
前言 TypeScript 中有很多地方涉及到子类型 subtype 、父类型 supertype 的概念,如果搞不清这些概念,那么很可能被报错搞得无从下手,或者在写一些复杂类型的时候看到别人可以这么写,但是不知道为什么他可以生效。(就是我自己没错了) 子类型 比如考虑如下接口: interface Animal { age: number } interface Dog extends Animal { bark(): void } 在这个例子中, Animal 是 Dog 的父类, Dog 是 Animal 的子类型,子类型的属性比父类型更多,更具体。 在类型系统中,属性更多的类型是子类型。 在集合论中,属性更少的集合是子集。 也就是说,子类型是父类型的超集,而父类型是子类型的子集,这是直觉上容易搞混的一点。 记住一个特征,子类型比父类型更加 具体 ,这点很关键。 可赋值性 assignable assignable 是类型系统中很重要的一个概念,当你把一个变量赋值给另一个变量时,就要检查这两个变量的类型之间是否可以相互赋值。 let animal: Animal let dog: Dog animal = dog // ✅ok dog = animal // ❌error! animal 实例上缺少属性 'bark' 从这个例子里可以看出, animal 是一个「更宽泛

Linux入门学习笔记

馋奶兔 提交于 2021-02-17 23:24:36
个人博客原文链接 Linux最初是由芬兰赫尔辛基大学学生Linus Torvalds由于自己不满意教学中使用的MINIX操作系统, 所以在1990年底由于个人爱好设计出了LINUX系统核心。后来发布于芬兰最大的ftp服务器上,用户可以免费下载,所以它的周边的程序越来越多,Linux本身也逐渐发展壮大起来,之后Linux在不到三年的时间里成为了一个功能完善,稳定可靠的操作系统,以下记录了学习Linux过程中的笔记. 简述 Linux是基于Unix的Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机. 版本 Linux的版本分为两种:内核版本和发行版本。 内核版本是指在Linus领导下的内核小组开发维护的系统内核的版本号。 发行版本是一些组织和公司根据自己发行版的不同而自定的。 安装 在VMware中安装Linux——CentOs系统 1.准备好CentOs的iso文件,安装好VMware 2.打开VMware,新建一个虚拟机 3.稍后安装操作系统 4.选择客户及操作系统Linux,版本为CentOs 5.输入虚拟机名称,选择该虚拟主机的安装位置(所有文件都将放在这个文件夹) 6.设置该虚拟机的磁盘大小(10~20G即可),选择拆分磁盘 7.自定义硬件

接入饿了么开放平台

岁酱吖の 提交于 2021-02-17 23:23:30
接入饿了么开放平台 注册开发者账号 这个其实没什么好多说的,附上网址去注册就好了 https://open.shop.ele.me/ 申请认证 和上面差不多,填写一些资料<br /> https://open.shop.ele.me/openapi/certification-detail/create 如果资料没有问题,一般就两个工作日就通过了,在个人中心就可以看到结果 申请应用 接下来就是申请应用了,在这里我选择了企业应用,就是我这个应用是要给多个商家接入,而不是我自己只接入一个商家 关于应用的说明这里有 https://open.shop.ele.me/openapi/documents/sj001 选上你所需要的接口,我这里选的比较少,看你的业务需求 沙盒配置 大概配置就好像下图所示了 回调URL 就是有一些在饿了么那边发生了一些状态变化,例如订单被取消,有人下单等等情况,要让你的应用指导,就必须来发起一个情况,就是发送到这个URL 推送URL 这里因为对于我的项目来说是必须的,所以在这里我就必须配置,而且,在配置的时候它会发送一个请求到你填写的连接来检测,所以这个url是有几个要求的 需是https 这个是比较麻烦 必须返回一个成功的信息,为了这里通过,建议先直接返回一个json用于验证 echo json_encode(['message'=>'ok']); 推送消息

npm vue ivew vue-cli3

℡╲_俬逩灬. 提交于 2021-02-17 23:23:13
2019-4-10 10:56:20 星期三 学习iview时需要搭建一套node环境, 这里记录下来 1. 下载安装 nodejs //自带了 npm包管理器 2. 设置npm的全局配置: 全局包默认安装路径, 全局缓存路径 3. npm全局安装 vue-cli 3 // 可以创建默认的项目目录和文件, 比如包目录node_modules, 插件目录plugins, 源代码目录src, 以及package.json等省的手动创建了 4. npm全局安装 vue cli server //他也属于vue-cli, 是用来创建服务器的, 可以通过在本地浏览器访问localhost:8080来执行本地的js/HTML代码 5. 通过vue-cli 创建项目的通用目录(最好是在windows自带的cmd命令窗口中执行命令): vue create helloworld //vue-cli的命令是vue, 这个命令会在当前文件夹中创建一个文件夹helloworld并创建出一些子文件夹和文件, 创建之前会有一些交互, 让你选择配置项, 使用默认的配置就好了 6. npm install iview --save //进入上一步创建好的 helloworld 文件夹, 并执行这个命令, 把iveiw安装到本地的node_modules中 7. vue add vue-cli-plugin

python,看看有没有你需要的列表元祖和range知识!

五迷三道 提交于 2021-02-17 23:22:29
列表--list 列表:列表是python的基础数据类型之一,存储多种数据类型 可变 支持索引 可切片 方便取值 li = [‘alex’,123,Ture,(1,2,3,’wusir’),[1,2,3,’小明’,]] 定义列表:lst=["Alex",123,True]用,逗号分隔是一个元素 Id 获取对象的内存地址 lst=[] print(lst[0]) print(id(lst[0])) 列表的索引 lst = ['刘德华','周润发','周杰伦','向华强'] print(lst[0]) # 列表中第一个元素 print(lst[1]) # 列表中第二个元素 print(lst[2]) # 列表中第三个元素 列表是可以修改的,和字符串不一样 lst[3]="王健林" print(lst) 增加 append 追加 lst = ['刘德华','周润发','周杰伦','向华强'] lst.append("宋佳凡") print(lst) insert 插入 lst = ['刘德华','周润发','周杰伦','向华强'] lst.insert[1,"宋佳凡"] print(lst) extend 迭代添加 lst = ['刘德华','周润发','周杰伦','向华强'] lst.expend("可迭代添加的内容") print(lst) 可添加多个内容 删除 del lst--

Android SQLiteOpenHelper 数据库升级

做~自己de王妃 提交于 2021-02-17 23:09:10
在应用开发时,可能随着需求或者其他因素,原设计的数据字段不够了需要重新新增或者删除字段,又或者创建新的表,这时我们该怎么做呢? 下面来看一个例子, 这是我们第一版开发的数据库, package com.laomou.demo; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; public class SQLTest extends SQLiteOpenHelper { private static String DB_NAME = "people"; private static int VERSION = 1; public SQLH(Context context) { super(context, DB_NAME, null, VERSION); } @Override public void onCreate(SQLiteDatabase db) { StringBuilder sql = new StringBuilder(); sql.append("CREATE TABLE people"); sql.append("(id INTEGER PRIMARY KEY