2015年12月28日星期一

Spark 遇到中文乱码问题如何解决?

Spark 遇到中文乱码问题如何解决?

Spark 遇到中文乱码问题如何解决?

  • 问题原因:
    一般是spark平台机器环境编码设置问题

  • 解决方法:

    1. 在spark-default中为executor加上-Dfile.encoding=UTF-8
      spark/conf/spark-defaults.conf
1.spark.executor.extraJavaOptions -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:ParallelGCThreads=4 -XX:NewRatio=3 -XX:SurvivorRatio=3 -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution -XX:+PrintGCApplicationStoppedTime -Dfile.encoding=UTF-8
  1. 在所有涉及到字节转换时,一定要指定编码方式
1.String -> Byte: 
2.string.getBytes("UTF-8")
3.
4.Byte -> String:
5.new String(bytes, "UTF-8")

2015年12月25日星期五

hive命令行使用反射

Untitled
  • HIVE自带反射
1.hive> add jar /home/work/metastore.online/hive/lib/commons-codec-1.3.jar;                                                           
2.Added /home/work/metastore.online/hive/lib/commons-codec-1.3.jar to class path
3.Added resource: /home/work/metastore.online/hive/lib/commons-codec-1.3.jar
4.hive> select reflect("org.apache.commons.codec.binary.Base64","decodeBase64","NGJkYjRhLS1iMTQ2ZjQ5Ni5jb20") from test.dual limit 1;