日常笔记

Scala教程

http://www.yiibai.com/scala/scala_arrays.html

//s函数的应用
val name="Tom"
s"Hello,$name"//Hello,Tom

Python教程(金角大王)

http://www.cnblogs.com/alex3714

http://www.cnblogs.com/yuanchenqi/articles/5782764.html(基本数据类型)

http://www.cnblogs.com/yuanchenqi/articles/5828233.html(函数式编程)

http://www.cnblogs.com/yuanchenqi/articles/5830025.html(装饰器)

http://www.cnblogs.com/alex3714/articles/5765046.html (生成器)

sparksql自定义udf函数

def days(data:String,data1:String):Long={
  var calendar = Calendar.getInstance()
  val sdf = new SimpleDateFormat("yyyy-MM-dd").parse(data.substring(1,data.length-1))
  val sdf1 = new SimpleDateFormat("yyyy-MM-dd").parse(data1.substring(1,data1.length-1))
  calendar.setTime(sdf)
  val d1 = calendar.getTime()
  calendar.setTime(sdf1)
  val d2 = calendar.getTime()
  val daterange = d2.getTime() - d1.getTime()
  val time = 1000*3600*24
  val day: Long =daterange/time
  day
}
sparkSession.udf.register("days",days _)//注意

1.RDD -> Dataset 
val ds = rdd.toDS()

2.RDD -> DataFrame 
val df = spark.read.json(rdd)

3.Dataset -> RDD
val rdd = ds.rdd

4.Dataset -> DataFrame
val df = ds.toDF()

5.DataFrame -> RDD
val rdd = df.toJSON.rdd

6.DataFrame -> Dataset
val ds = df.toJSON

Scala四舍五入保留两位小数点

a.formatted("%.2f")

scala获取时间戳

def days(data: String): Long = {
  val loc = new Locale("en")
  val fm = new SimpleDateFormat("yyyy-MM-dd H:mm:ss", loc)
  val dt2 = fm.parse(data);
  val time: Long = dt2.getTime()
  time
}
读取csv文件以及将文件存为csv格式

val df: DataFrame = sparkSession.read.format("csv").load("C:\\Users\\Administrator\\Desktop\\Book1.csv")
df.write.format("csv").save("hdfs://192.168.42.167:9000//namesAndAges.txt")

###### 执行异常与否判断
rc=$?
if [[ $rc != 0 ]]; then
    echo "`date "+%Y-%m-%d %H:%M:%S"` Spark job run failed......"
    exit 1
else
    echo "`date "+%Y-%m-%d %H:%M:%S"` Spark job run successfully......."
fi

*************************************************

java直接调用linux命令  在java程序中删除Linux目录下的文件夹主要步骤如下):

String path = "/home/deledir";//文件夹路径
String[] cmd = new String[] { "/bin/sh", "-c", "rm -rf "+path }; 
try{
Process process = Runtime.getRuntime().exec(cmd);
}catch(IOException e){
e.printStackTrace();
}

******************************************************

centos7修改主机名

hostnamectl set-hostname xxx

如果遇到open file limit问题

Configuration of maximum open file limit is too low: 1024 (expected at least 32768). Please consult https://goo.gl/LgvGFl


修改方法:
(1)ulimit -HSn 102400
这只是在当前终端有效,退出之后,open files 又变为默认值。
(2)将ulimit -HSn 102400写到/etc/profile中,因为每次登录终端时,都会自动执行/etc/profile。
(3)令修改open files的数值永久生效,则必须修改配置文件:/etc/security/limits.conf. 在这个文件后加上:
* soft nofile 102400
* hard nofile 102400
这种方法需要重启机器才能生效。










  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值