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
这种方法需要重启机器才能生效。