一个典型的hive如下:
1 | CREATE EXTERNAL TABLE `model.unbounded_dmp_ad_tables_jd2_imei_test`( |
重点说明如下:
- 因为每个csv文件都带有header,所以使用
'skip.header.line.count'='1'
来跳过header行。 - 字段间分隔符使用’\u0001’,使用pyspark时分隔符为sep=”\x01”
Coding My Life
一个典型的hive如下:
1 | CREATE EXTERNAL TABLE `model.unbounded_dmp_ad_tables_jd2_imei_test`( |
重点说明如下:
'skip.header.line.count'='1'
来跳过header行。由于本人的开发机是win10,所以打算在本地搭建spark开发环境,以便于调试。由于目前公司使用的版本是spark-2.1.0,hadoop-2.7.1,所以在spark官网上下载的包为spark-2.1.0-bin-hadoop2.7,在hadoop官网下载hadoop-2.7.1包,然后将这两个包解压。(注意这两个包所在的路径不要有中文或是空格,要不然会出错!),另外还需要去下载对应Hadoop版本的winutils.ext工具,解压后放在~/hadoop-2.7.1/bin目录下,可下载地址为:https://github.com/steveloughran/winutils
每当更改了前端某些js,html等文件,并重新发布服务时总是得需要清理浏览器缓存,要不然无法正确显示页面。要想理解浏览器缓存的逻辑可参考这篇文章:浏览器缓存知识。
尝试做过一些修改比如参考我想转行之—-微信浏览器缓存 ,但是这些方法要么实现不够优雅过于麻烦,要么指标不治本。
本机进行邮件发送没出现问题,但是放到某些linux环境中则出现邮件内容是现实base编码的问题:
1 | ------=_Part_3_2039075268.1524573999534 |
一开始以为是编码没设置好,但是本地测试或是在某些linux环境中测试都没问题。
volatile只能保证可见性,但是不保证原子性。
项目需要combogrid来实现下拉列表,并且实现select下拉框刷选下拉列表内容的功能。查了官方文档,好像没有介绍combogrid添加toolbar的例子,但是看到combogrid继承了combo和datagrid,那好,应该是可以使用。
combogrid成功添加了toolbar实现了相关功能。但是问题来了。
$("#tb")
竟然生效,id为tb的div竟然成了全局div。当输入$("[id=tb]").length
是返回的结果不只是1,会随着切换次数的增加加1。为什么出现这种问题,由于本人前端水平有限,一时半会也找不出答案,只能简单暴力地解决问题!
初始化两次combogrid,使得出现两处toolbar。如果只是初始化一次那么toolbar只是出现一次,但是[id=tb]").length
的长度还是会大于1,实际上可删除的id为tb的div只有一处,那么再删掉就没意义了。
连续两次初始化完之后,接着加入以下逻辑
1 | init : function() { |
没办法,只能简单暴力解决!
实现这样一个功能,根据前端的日历组件向后台传回某一年的第几周的开始日期和结束日期,日历组件的展示的日历周是以周日开始周六结束。
但是当直接设置Java中Calendar对象中的年数和周数时,返回这一周第一天(周日)的日期总是对不上。后来经过同事的帮忙总与解决了,代码如下:
1 | // 获取某一周的起始时间 |
当在划出窗口或是弹出面板中使用layer.tips时,老是出现tips位置错误的问题。感觉是给layer.tips提供的id位置应该不是当前窗口或是面板的上的id。
在同事的建议下直接把当前对象的this
参数传进来单做id,这样就解决问题了。代码片段如下:
1 | operation = '<a href="javascript:;" class="btn btn-link btn-xs" onmouseover="showTestTooltip(\'' |
使用combogrid组件时,弹出的面板宽度总是与数据框的长度一样,并不是想官方demo那样弹出理想的宽度。各种属性各种设置也没解决问题,网上找了好久也没有找到答案。
后来继续翻官方demo,发现了一个属性,试了一下成功了。属性如下:
1 | panelMinWidth : '50%', |
还得加入fix:true,
属性,使得表格大小与面板一致
设置值为:50%
。
因为combogrid继承combo以及datagrid,因此可是使用combo以及datagrid的特性。通过”toolbar”属性可以引入输入框形成组合查询。
注意问题:在Firefox浏览器中可能会出现数据框加载显示效果问题,可以先默认隐藏输入框,再在列表初始化函数中通过js显示该输入框。
1 | onLoadSuccess:function(){ |