Amp

hive-3.1.2 整合进 hadoop-3.3.0 + hbase-2.2.4

前提是你 提交于 2020-08-17 16:11:15
一、下载匹配hadoop-3.x.y 版本的hive 3.1.2 下载地址 : http://mirror.bit.edu.cn/apache/hive/ 二、上传至安装目录 /home/apache-hive-3.1.2-bin.tar.gz 解压:tar -zxvf apache-hive-3.1.2-bin.tar.gz 后重命名目录:/home/hive-3.1.2 三、编辑 /etc/profile 文件 ...... if [ -n "${BASH_VERSION-}" ] ; then if [ -f /etc/bashrc ] ; then # Bash login shells run only /etc/profile # Bash non-login shells run only /etc/bashrc # Check for double sourcing is done in /etc/bashrc. . /etc/bashrc fi fi export JAVA_HOME =/usr/java/jdk1.8.0_131 export JRE_HOME = ${JAVA_HOME}/jre export HADOOP_HOME =/home/hadoop-3.3.0 export HIVE_HOME=/home/hive-3.1.2 export

qt中设置窗体大小

删除回忆录丶 提交于 2020-08-17 16:01:26
在我们的编程中,我们有时候会想让我们的程序窗体固定大小,而该大小是我们在编辑时的大小。 经过我的摸索,和查阅资料。找到了一个方法。其实也很简单。其实也就是先找到该窗体的物理大小。 然后设置固定窗体的大小即可,核心代码如下: loginDialog::loginDialog(QWidget *parent) : QDialog(parent), ui(new Ui::loginDialog) { ui->setupUi(this); int width = this->geometry().width(); int height = this->geometry().height(); this->setFixedSize(width,height); //设置窗体固定大小 } 用Qt创建一个窗口,如何调整窗口的大小呢? 1.setBaseSize(),调用这个方法 1 setBaseSize( 800, 600 ); 运行程序,发现一点效果都没有。 注意我这里并没有使用setFixedSize setMaximumSize,因为虽然这些方法能够设置初始大小,但是之后就不能用鼠标调整窗口大小了。 2.用重载QSize sizeHint() const 的方式来实现。这个函数是QWidget的一个虚函数。如下: 1 2 3 4 5 6 virtual QSize sizeHint ()

截取url参数并返回json格式;数组元素出现次数统计;

不问归期 提交于 2020-08-17 15:23:39
var url = 'https://ww.baidu.com?a=1&b=2&c=3&d=4' 思路:先通过indexOf('?')拿到问号开始的索引(即url拼接参数开始的索引),然后通过substring(索引+1)来截取下整个拼接参数,接下来对拼接参数通过split('&')进行切割,从而使url上拼接的每个参数作为一个数组的对象,然后通过for循环中这个数组,对每个数组对象split('=')切割为“参数名”+“参数值”的形式,然后进行赋值,代码如下: getParam(url) { var obj = {}; var num = url.indexOf("?"); var str = url.subString(num + 1); var strArr = str.split('&'); for (var i = 0; i < strArr.length; i++) { var arr = strArr[i].split('='); obj[arr[0]] = arr[1] } return obj }, var url = www.baidu.com?a=1&b=2&c=3&d=4 getParam(url) 2.思路:声明一个对象,通过对数组循环判断对象中是否有这个数组元素,有次数+1,无则添加进对象;代码如下: arrayCount(arr) { var obj

微信公众号请求验证加密比对

不想你离开。 提交于 2020-08-17 13:51:36
import org.apache.commons.lang3.StringUtils; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.Arrays; /** * @ProjectName: WxTest * @Author: huat * @Date: 2020/6/18 10:49 * @Version: 1.0 */ public class WxService { //此处token的值需要和公众号填写的token值一致 private static final String TOKEN = "abcdefg" ; /** * 验证请求是否来自微信 * @param timestamp * @param nonce * @param echostr * @return */ public static boolean check(String timestamp,String nonce,String echostr){ /** * 验证签名步骤 * 1 )将 token 、 timestamp 、 nonce 三个参数进行字典序排序 * 2 )将三个参数字符串拼接成一个字符串进行 sha1 加密 * 3

【技术控请进】华为云DevCloud深色模式开发解读

守給你的承諾、 提交于 2020-08-17 12:52:04
引言 近期,华为云DevCloud推出了开发者友好的深色模式,深受开发者们的喜爱和关注。大家都知道,深色模式(Dark Mode)在iOS13 引入该特性后各大应用和网站都开始支持了深色模式。在这之前,深色模式更常见于程序IDE开发界面和视频网站界面。前者通过降低屏幕亮度,使得使用人员长时间盯着屏幕眼睛没有那么疲惫;后者通过深色模式来降噪,从而突出主体内容部分。随着产品技术的迭代,在支持css自定义属性(又称css变量,css variables)的现代浏览器,完全可以在运行时实时新增主题,摆脱传统css主题文件加载模式下的主题需要预编译内置不能随时修改的弊端。 接下来,我们看一下如何使用css自定义属性来完成深色模式和主题化的开发。 主题切换器开发 首先我们需要打通一套支持css自定义属性的开发模式。 CSS自定义属性使用 这里简单介绍一下CSS自定义属性,有时候也被称作CSS变量或者级联变量。它包含的值可以在整个文档中重复使用。自定义属性使用 -- 变量名 : 变量值 来定义,用var(-- 变量名 [, 默认值 ]) 函数来获取值。举一个简单例子: <!--html--> <div><p>text</p></div> /* css */ div { --my-color: red; border: 1px solid var(--my-color); } p { color:

Linode 虚拟主机安装 discourse 邮件没有发送

谁说我不能喝 提交于 2020-08-17 11:11:57
discourse 在安装的时候对电子的依赖性非常强。 linode VPS 安装后 discourse 的电子邮件始终没有办法发送成功。 discourse 在安装完成后,需要对电子邮件进行校验。如果你不配置 SMTP 服务器的话,你的 discourse 是没有办法完成安装的。 很多时候如果你测试的话,你可能会使用你的私人邮件服务器进行 SMTP 测试,如果你是站长的话,你应该使用商业的电子邮件服务器。商业电子邮件服务器能够提供更好的功能,能够对发送的邮件进行跟踪,更主要的是发送量和每秒钟的发送速率能够更高,能够实现批量发送邮件。 如果你怕麻烦也怕绑定信用卡的话,你也可以使用 AWS 的 SES 邮件服务,其实功能都差不多,还更加便宜,但是 SES 对发送的电子邮件处理就不是那么好了,你不知道你发送的邮件有没有被打开。 linode VPS 在安装完成后是默认关闭 587 端口的,主要原因是可能虚拟主机服务商避免很多人申请一个非常便宜的 VPS,然后大量发送垃圾邮件。 你可以在你的账号下提交工单让 linode 帮你打开 587 端口,一般来说他们都会回复你一个下面的内容: Hello, To help combat spam on our platform, new Linode accounts have SMTP port restrictions in place on

2 面试题之TCP/UDP

筅森魡賤 提交于 2020-08-17 10:47:49
大纲: ① TCP和UDP协议的区别?(重点掌握) 答:TCP和UDP协议都是传输层常见的协议 ,它们的主要区别如下所示: TCP协议进行数据通信之前需要三次握手建立连接,UDP协议不需要建立连接即可发送数据。 TCP有确认机制,丢包可以重发,保证数据的正确性;UDP不保证正确性,只是单纯的负责发送数据包。 TCP协议可能会对大数据包进行拆分,并且在接收方进行重组数据包操作;UDP协议是面向报文的,不会进行分片和重组,所以需要注意传输的报文大小。 网络包中的TCP头部为20个字节;UDP头部只有8个字节。 解析: 这也是一道几乎必考的面试题目, 我们必须清楚的阐述是否需要三次握手以及传输是否可靠,即是否有确认机制 。 既然说到了 丢包重传机制 ,那么请注意 SACK (Selective ACK) ,SACK是TCP选项,它使得接收方能告诉发送方哪些报文段丢失,哪些报文段重传了,哪些报文段已经提前收到等信息,根据这些信息TCP就可以只重传哪些真正丢失的报文段。 UDP协议的应用: UDP协议由于传输不需要建立连接,资源消耗较小。常用在 视频或者语音传输 中, 域名解析服务DNS 都使用了UDP协议。 ② 可以详细说一下三次握手以及四次挥手吗?(重点掌握) 参考视频链接: https://www.bilibili.com/video/BV1h7411A7tG 答:

迄今历年闪存一览

送分小仙女□ 提交于 2020-08-17 10:38:45
1. 燥热 [09/19/2017 14:38:21] 2. 而你的脸颊像田里熟透的蕃茄 [09/19/2017 11:56:35] 3. 做了好几次这样的梦:车速不快,但控制不了车,刹车踩的很费劲但一点用没有,还是往前走。即便前面好多人群,但好像撞到了人,但车还是往前走,也没有人跑过来说你撞到人了 [09/19/2017 10:35:32] 4. 记得那时是一个快要过年的冬天,天在下着雪,不大也不小。我当时具体在做什么忘了,反正是在街上玩顶着雪花,家里人在包饺子,那时过年每家都先备好好几天的饺子,过年从初一开始每天早晨几乎都吃饺子,我也比较吃饺子。过年顺便也能吃点好的,煮一大锅肉,那时的年才是真的年 [09/18/2017 15:31:13] 5. 莫名的伤感 [09/18/2017 14:32:56] 6. 还记得上高中那会,我喜欢一个女生,那个女生应该也喜欢我,天天上课的时候传纸条,座位离得很远,需要中间传递五六个同学,但也阻止不了我们传纸条。那个时候感受到了青春的味道,下了课就一起遛弯。当时传过的纸条没舍得扔掉,积攒了满一课桌,再后来我们就分手了,再后来纸条也一并烧掉了。现在特别想知道都传了些什么 [09/18/2017 11:52:44] 7. 还记得高中那会我就坐在最中间的第二排,第一排坐在我前面的是个女生,那时即使上课手都不老实,经常摆弄我前面那女生的头发(她是知道的

springboot 配置文件

半世苍凉 提交于 2020-08-17 09:02:08
设置生效配置文件,创建多个配置文件,在主配置文件中,使用profiles.active设置生效配置文件 生效文件样式 配置application.proprties文件内容 红色部分是配置执行多条sql语句配置 spring: datasource: url: jdbc:mysql://localhost:3306/ssm?characterEncoding=utf8&useSSL=false&serverTimezone=UTC& allowMultiQueries=true username: root password: xxxxxx 来源: oschina 链接: https://my.oschina.net/u/3141521/blog/4328964

C++ 九阴真经之异步队列

杀马特。学长 韩版系。学妹 提交于 2020-08-17 08:47:17
异步队列可以看作是消息队列和线程池的合体,输入端是用户自定义数据,输出端为用户自定义执行体。 定义类型 T 定义执行体 bool task(T& t){} 就可以实现没每一个消息执行操作 task(t) /************************************************************************************ * 异步队列 * 用户将数据压入队列,并自定义执行函数,对数据进行异步处理 * T 数据类型 * RET 结果返回类型 ************************************************************************************/ template <typename T, typename RET> struct NodeData { T data; std::promise<RET> res; }; template<typename T, typename RET> class CAsyncQueue : public ThreadObject { public: void Start(unsigned short nThreadNum, std::function<RET(T)> f) { m_idlThrNum = nThreadNum < 1