2017-01-28 13:20:43 纠正vim的使用习惯 Esc - CapsLock - Ctrl+[ Esc新版MacBook已废弃! 新版MacBook支持使用CapsLock替换Esc,于是果断改使用习惯 阅读全文...
2017-01-14 17:11:02 自己动手为Spark 2.x添加ALTER TABLE ADD COLUMNS语法支持 SparkSQL从2.0开始已经不再支持`ALTER TABLE table_name ADD COLUMNS (col_name data_type [COMMENT col_comment], ...)`这种语法了(下文简称add columns语法)。如果你的Spark项目中用到了SparkSQL+Hive这种模式,从Spark1.x升级到2.x很有可能遇到这个问题。 为了解决这个问题,我 阅读全文...
2016-12-15 13:43:06 解决Spark读取Hive分区表出现Input path does not exist的问题 假设这里出错的表为test表。 ## 现象 Hive读取正常,不会报错,Spark读取就会出现: ``` org.apache.hadoop.mapred.InvalidInputException: Input path does not exist: hdfs://testcluster/user/hive/warehouse/.... ``` 在hive中执行`desc format 阅读全文...
2016-12-12 05:54:01 git diff a b与git diff b a的区别 `git diff`用的时间也挺久了,不过一直没有注意过git diff a b,和git diff b a有什么区别,用的也是稀里糊涂的,不就是比较a和b的不同么?两种比较方式会有什么不一样呢? 实际操作后,发现确实是两种不同的对比。 我们的a文件,内容如下: ``` 1 2 ``` b文件的内容为: ``` 1 3 ``` 执行`git diff a b`,结果为: ``` di 阅读全文...
2016-11-24 16:25:32 如何修改Hadoop的默认日志级别,还真是麻烦 鄙人使用的Hadoop版本为2.6.4。Hadoop的默认日志级别为INFO,对于百台以上的集群,如果文件操作频繁的话,NameNode会狂打日志,对性能会有一定的影响。 我们可以通过`http:// /logLevel`在线修改NameNode的日志级别。如下所示: ![](/api/file/getImage?fileId=5ab5b930ba8bc2481f0000e7) 但是,如果N 阅读全文...
2016-11-24 06:08:14 解决使用Hive创建表出现JDODataStoreException: An exception was thrown while adding/validati的问题 今天在Mac上折腾Hive,本人用的Hive版本为1.2.1,使用MySQL作元数据存储,数据库配置如下(数据库默认的字符集为utf8): ``` javax.jdo.option.ConnectionURL jdbc:mysql://127.0.0.1:3305/hive_meta?createDatabaseIfNotExist=true ``` 各种服务启动正常, 阅读全文...
2016-11-21 11:52:43 Scala模式匹配的`@`操作符 阅读Spark源码的时候,经常碰到模式匹配中带着@这样的写法,如: ``` object CombineLimits extends Rule[LogicalPlan] { def apply(plan: LogicalPlan): LogicalPlan = plan transform { case ll @ Limit(le, nl @ Limit(ne, grandChild 阅读全文...
2016-05-25 15:45:33 解决Mac下使用pip安装M2Crypto报错的问题 和Mac系统升级有关,`/usr/include`目录没有了,且没有权限修改。 正确的安装方法(前提,已安装brew): ``` sudo env LDFLAGS="-L$(brew --prefix openssl)/lib" \ CFLAGS="-I$(brew --prefix openssl)/include" \ SWIG_FEATURES="-cpperraswarn -inclu 阅读全文...
2016-05-25 12:05:19 Mac/Linux下管理多个版本的jdk 最近搞的一个项目是基于jdk1.7,打算升级到jdk1.8需要做一段时间的测试,也就是说开发依然在1.7的版本,同时要测试1.8。 ### 安装 需要什么版本的jdk直接去oracle官网下载dmg安装包直接安装即可。 ### 修改~/.bashrc或~/.zshrc 添加以下代码 ``` # 尼玛,写这篇日志其实主要是为了记录jdk在Mac下的安装路径~~~ export JAVA_7 阅读全文...
2016-05-24 03:12:33 Python性能分析——cProfile cProfile是python内置的模块,是比较常用的性能分析工具,可以非常方便的辅助我们找出程序的性能瓶颈,类似的内置工具还有profile,hotshot,使用方法和cProfile类似。本文重点介绍cProfile几种常用的分析方法。 直接针对一个文件进行分析: `python -m cProfile test.py`,-m表示运行一个模块,这里直接运行了cProfile模块,对test. 阅读全文...