序列化 - Java
Java序列化框架是一种Java专有的非通用的序列化方案,这是和protobuf、avro、json等通用序列化框架的根本区别。除此之外,Java的序列化更慢、序列化后的体积更大,所以即使是在Java里,应用也没以上通用序列化框架广泛。 Java如何序列化反序列化 序列化 - write 为什么想要序列化的类必须实现Serial...
Java序列化框架是一种Java专有的非通用的序列化方案,这是和protobuf、avro、json等通用序列化框架的根本区别。除此之外,Java的序列化更慢、序列化后的体积更大,所以即使是在Java里,应用也没以上通用序列化框架广泛。 Java如何序列化反序列化 序列化 - write 为什么想要序列化的类必须实现Serial...
使用avro提供的工具,可以通过命令行直接查看avro文件、查看avro schema、avro和json互转等。 avro-tools 命令 base 查看avro:tojson 查看schema:getschema json转avro:fromjson 生成Java code Ref ...
Avro结合Java使用,主要有: avsc编译为Java代码; 使用生成的代码序列化反序列化对象; 编译avsc 创建对象 Avro null value 代码分析 null定义的特例 序列化反序列化 使用生成的代码 不使用生成的代码 Ref 编译avsc...
Spark调优主要是调整spark的配置和调整spark代码的执行逻辑,不过主要还是调配置,所以这里将配置和调优放在一起。当然由于spark过于庞大(hadoop、kafka也都这样)一次性梳理配置是很让人懵逼的一件事,况且一开始显然也不能理解spark的所有配置。根据平时的需求,将需要用到的学到的配置总结在这里,长期更新。 partition memory scheduli...
Java 8的Date Time API(java.time包下)定义了新的关于时间相关的类,包括人类时间、机器时间,本地时间、带时区的全球唯一时间等,供不同的场景选用不同的类。另外还有基本的Temporal支持,对计算时间的加减等操作提供了很强大的支持。 human time 本地时间 时区 获取本时区的某时间 ...
在能独立成章之前,把一些其他关于spark需要记录的东西先写在这里。 SparkContext vs. SparkSession SparkContext - RDD SparkSession - Dataset spark-shell 本地读文件 本地读avro(读为Dataset) ...
关于spark跑任务使用的集群以及任务的提交方式。 组件 任务提交 - spark-submit 提交参数 --master --deploy-mode 配置优先级 依赖 --jars:说实话没必要 ...
Spark SQL is a Spark module for structured data processing. Unlike the basic Spark RDD API, the interfaces provided by Spark SQL provide Spark with more information about the structure of both the ...
RDD操作大体上和Dataset是一致的,比如以下存储创建RDD、transformation、action等。但是还是有区别的,比如groupByKey在RDD中是应用于Tuple2类型,在Dataset中则可以按照任意指定column group by。另外二者的序列化方式貌似也是不同的,RDD使用Java或Kryo,Dataset使用具体的Encoder,支持在不反序列化的情况下进行f...
可认为是spark预设好的一个case class,当不想为Dataset[T]定义case class时,就是Dataset[Row],即DataFrame。 定义 实现 数据 schema StructType StructField 获...