香蕉与打火机

机器学习和AI的时代来了

Latest Posts

scala的foreach功能使用java的List类型问题

在对java的List类型使用scala的foreach时,idea报错。

scala的foreach使用java数据类型出错

经查,原来scala的foreach是不能用于java数据类型的。程序写的太low了,应该将java的底子完全舍弃,在建立数据类型的时候直接使用scala的数据类型,才能更好的使用scala的语言特性。

work around:

增加一句:

不过还是建议直接用scala的数据类型吧。

参考链接:http://alvinalexander.com/scala/converting-java-collections-to-scala-list-map-array

使用sbt自动运行scala程序

sbt run

cd your-project-pwd

sbt ‘run-main your-main’ > out.txt

cron table

*6**** /usr/batch/test1

每天6点执行

test1脚本中即可添加sbt run的内容。

 

栗子:

 

 

使用rpm升级系统软件

参考链接(鸟哥):http://linux.vbird.org/linux_basic/0520rpm_and_srpm.php#rpmmanager_update

使用 RPM 來升級真是太簡單了!就以 -Uvh 或 -Fvh 來升級即可,而 -Uvh 與 -Fvh 可以用的選項與參數,跟 install 是一樣的。不過, -U 與 -F 的意義還是不太一樣的,基本的差別是這樣的:

-Uvh 後面接的軟體即使沒有安裝過,則系統將予以直接安裝; 若後面接的軟體有安裝過舊版,則系統自動更新至新版;
-Fvh 如果後面接的軟體並未安裝到你的 Linux 系統上,則該軟體不會被安裝;亦即只有已安裝至你 Linux 系統內的軟體會被『升級』!

 

删除软件:rpm -e

遇到有依赖无法删除,建议不要强行删除。检查yum为上策。

 

 

Java并发编程:线程池的使用 executor.shutdown() executor.awaitTermination(7, TimeUnit.DAYS)

参考链接:http://www.cnblogs.com/dolphin0520/p/3932921.html

几个理解的key

  1. 线程池执行实现了Runnable的类,其实是反射调用该类实现的run()函数
  2. 线程池加载所有任务后,可以关闭(不能再添加新的线程任务),等待所有线程执行完后退出。使用以下代码实现

ulimit配置修改

修改配置文件:/etc/security/limits.conf

星号代表全局,针对某个用户的话就把星号改为某用户

全部说明:

 

 

使用spark加载并读取parquet格式的文件——之使用scala版

前言

It has been a long time.

最近有需求读取并测试parquet格式的文件。目前hive、impala、spark等框架均支持parquet。

本文是采用scala接口的spark进行简单的hello world。

进入spark-shell环境

注意:

  1. 输出可以看到这里用的是spark1.3.1
  2. spark-shell自动为你注册了Spark context,该对象名字为:sc。后面直接使用sc对象进行设置。
  3. 看到scala提示符,就意味着可以进行编程测试了。

注册SQLContext并进行配置

步骤:

  1. 使用sc(Spark context)对象注册SQLContext
  2. 使用setConf对SQLContext进行配置
  3. 可配置的参数见:http://spark.apache.org/docs/1.3.1/sql-programming-guide.html#parquet-files
  4. 可配置的参数在1.5.1的最新版本中增加了很多

导入parquet文件

导入文件:

打印parquet文件的schema:

注意:如果sqlContext.setConf(“spark.sql.parquet.binaryAsString”,”false”),则列数据类型将为原始的binary。这里自动进行了转换。

将parquet文件注册为临时表

parquet表的DML操作

执行sql:

遍历结果:

 

 

 

 

 

mysql使用存储过程生成测试数据

声明存过

测试使用

生成了100w条数据。还挺快,不到1小时完成。

 

 

 

list