hive:排序问题 一.hive排序以及对比排序名称 reducer个数 说明 全局排序(order by) 1个 内部排序(sort by) 多个 Sort by 为每个 reducer 产生一个排序文件。每个 Reducer 内部进行排序,对全局结果集 来说不是排序。 分区排序(Distribute By) 一定要分配多 reduce 进行处理 在有些情况下,我们需要控制某个特定行应该到哪个 reducer
hive:join连接 一,Join连接方式介绍SQL join 用于把来自两个或多个表的行结合起来。下图展示了 LEFT JOIN、RIGHT JOIN、INNER JOIN、OUTER JOIN 相关的 7 种用法。二.数据准备1.模拟数据emp表7369 SMITH CLERK 7902 1980-12-17 800.00 207499 ALLEN SALESMAN 7698 1981-2-20 1600.00 300.00 307521 WARD SALESMAN 7698 1981
hive:DDL 之表 4.5 创建表1)建表语法 CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name[(col_name data_type [COMMENT col_comment], ...)][COMMENT table_comment][PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)][CLUSTERED BY (col_name, col_name, ...)[SOR
hive:DDL 之数据库 4.1 创建数据库CREATE DATABASE [IF NOT EXISTS] database_name[COMMENT database_comment][LOCATION hdfs_path][WITH DBPROPERTIES (property_name=property_value, ...)];1)创建一个数据库,数据库在 HDFS 上的默认存储路径是/user/hive/warehouse/*.db。hive (default)> create databa
hive启动beeline报org.apache.hadoop.security.authorize.AuthorizationException 解决办法:1.在hive-site.xml中配置<property> <name>hive.metastore.sasl.enabled</name> <value>false</value> <description>If true, the metastore Thrift interface will be secured with SASL. Clients must authenticate with K
(十五)项目的打包与发布 1.打包:npm run build2.发布 1: 使用静态服务器工具包npm install -g serve serve dist 访问: http://localhost:50003.发布 2: 使用动态 web 服务器(tomcat)修改配置: webpack.prod.conf.js output: { publicPath: '/xxx/' //打包文件夹的名称 } 重新打包: npm run build 修改 dist 文件夹为项目名称: xxx 将 x
(十四)使用 vue-cli 创建模板项目 1.说明1) vue-cli 是 vue 官方提供的脚手架工具 2) github: https://github.com/vuejs/vue-cli 3) 作用: 从 https://github.com/vuejs-templates 下载模板项目2.创建 vue 项目 npm install -g vue-cli (安装vue-cli)vue init webpack vue_demo (创建项目)cd vue_demo(进入项目目录) npm insta.
(十三) 插件 1.定义插件(初学者使用比较少)(function (window) { //向外暴露的插件对象 const MyPlugin = {} MyPlugin.install = function (Vue, options) { // 1. 添加全局方法或属性 Vue.myGlobalMethod = function () { console.log('Vue函数对象的myGlobalMethod()') } // 2. 添加全局资源
(十二)指令_内置指令 1.常用内置指令v:text : 更新元素的 textContentv-html : 更新元素的 innerHTMLv-if : 如果为true, 当前标签才会输出到页面v-else: 如果为false, 当前标签才会输出到页面v-show : 通过控制display样式来控制显示/隐藏v-for : 遍历数组/对象v-on : 绑定事件监听, 一般简写为@v-bind : 强制绑定解析表达式, 可以省略v-bindv-model : 双向数据绑定ref : 为某个元素注册一个唯一标
(十一)过滤器 1. 理解过滤器功能: 对要显示的数据进行特定格式化后再显示注意: 并没有改变原本的数据, 可是产生新的对应的数据2. 编码1). 定义过滤器 Vue.filter(filterName, function(value[,arg1,arg2,...]){ // 进行一定的数据处理 return newValue })2). 使用过滤器 <div>{{myData | filterName}}</div> <div>{{m
(十)过渡&动画1 1. vue动画的理解操作css的trasition或animationvue会给目标元素添加/移除特定的class2. 基本过渡动画的编码1). 在目标元素外包裹<transition name="xxx">2). 定义class样式 1>. 指定过渡样式: transition 2>. 指定隐藏时的样式: opacity/其它<style> .move-enter-active { transition: all
(九)vue生命周期(重点) 一,vue生命周期图vue对象的生命周期 1). 初始化显示 * beforeCreate() * created() * beforeMount() * mounted() 2). 更新状态 * beforeUpdate() * updated() 3). 销毁vue实例: vm.$destory() * beforeDestory() * destoryed()2. 常用的生命周期方法 created()/mount
(八)表单的自动收集 v-model <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>08_表单输入绑定</title></head><body><div id="demo"> <form action="/XXXX" @submit.prevent="handleSubmit"> <.
七:事件处理 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>07事件处理</title></head><body><div id="example"> <h1>1.绑定监听</h1> <button v-on:click="test1">test1.
(6-2)列表渲染_过滤与排序 1.列表过滤<div id="test"> <input type="text" v-model="searchName"> <ul> <li v-for="(p,index) in filterPersons" :key="index"> {{index}}----{{p.name}}----{{p.age}} </li> </ul></di
(6-1)列表渲染 1. 列表显示1.1数组: v-for / index<h2>测试:v-for 遍历数组</h2><ul> <li v-for="(p,index) in pesrons" :key="index"> {{index}}-----{{p.name}}----{{p.age}} ----<button @click="deletep(index)">删除</button> ----<
(五)条件渲染 1.v-if 与v-else<p v-if="ok">表白成功</p><p v-else>表白失败</p>2.v-show<p v-show="ok">表白成功</p><p v-show="!ok">表白失败</p>3.全部代码:<!DOCTYPE html><html lang="en"><head> <meta charset
(四)-class与style绑定 1. 理解在应用界面中, 某个(些)元素的样式是变化的class/style绑定就是专门用来实现动态样式效果的技术2.class绑定: :class='xxx'2.1xxx是字符串<h2>1. class 绑定: :class='****'</h2><!--a是一个变量--><p :class="a">XXX是字符串</p><!--合并的效果--><p class="classC" :class.
(三) vue计算属性和监视 1.计算属性在computed属性对象中定义计算属性的方法在页面中使用{{方法名}}来显示计算的结果//什么时候执行:初始显示或者相关data属性数据发生改变//计算属性中的一个方法:方法的返回值作为属性值computed:{ fullName1() { console.log('fullName1()',this) return this.firstName+'-'+this.lastName;}
(二)模板语法 1.模板的理解1) 动态的 html 页面 2) 包含了一些 JS 语法代码 a. 双大括号表达式 b. 指令(以 v-开头的自定义标签属性)2. 双大括号表达式 语法: {{exp}} 或 {{{exp}}} 功能: 向页面输出数据,可以调用对象的方法3. 指令一: 强制数据绑定功能: 指定变化的属性值 完整写法: v-bind:xxx='yyy' //yyy会作为表达式解析执行 简洁写法: :xxx='yyy'4. 指令二: 绑定事件监听...