爱淘宝网页网站建设,陕西 网站建设 陕ICP,做网站从何开始,网站试运营写在开头#xff1a;本文用于作者学习Java常用API
我将官方文档中Encoders类中所有API全测了一遍并打印了结果#xff0c;日拱一卒#xff0c;常看常新
在Spark中#xff0c;Encoders类提供了一些静态方法用于创建不同数据类型的编码器。
首先#xff0c;我遇到这样一个…写在开头本文用于作者学习Java常用API
我将官方文档中Encoders类中所有API全测了一遍并打印了结果日拱一卒常看常新
在Spark中Encoders类提供了一些静态方法用于创建不同数据类型的编码器。
首先我遇到这样一个问题就是
EncoderString string org.apache.spark.sql.Encoders.STRING();标黄的这个包必须得加如果我不加自动导包导得是 import org.apache.spark.network.protocol.Encoders;这个包
但是我需要org.apache.spark.sql.Encoders这个包的这个类所以加了完整的类路径。下面是Encoders的API介绍
1. Encoders.STRING()
// 创建一个String类型的编码器
Test// 创建一个String类型的编码器// 1. Encoders.STRING()public void test_STRING(){EncoderString string org.apache.spark.sql.Encoders.STRING();System.out.println(string);//class[value[0]: string]System.out.println(string.schema());//StructType(StructField(value,StringType,true))}
2. Encoders.INT()
// 创建一个Integer类型的编码器
Test// 创建一个Integer类型的编码器// 2. Encoders.INT()public void test_INT(){EncoderInteger anInt org.apache.spark.sql.Encoders.INT();System.out.println(anInt);//class[value[0]: int]} 3. Encoders.bean(MyClass.class)
// 创建一个自定义类的编码器其中MyClass是自定义类的类名
Test// 创建一个自定义类的编码器其中MyClass是自定义类的类名// 3. Encoders.bean(MyClass.class)public void test_bean(){EncoderMyClass myClassEncoder org.apache.spark.sql.Encoders.bean(MyClass.class);System.out.println(myClassEncoder.clsTag());//com.atguigu.sparksql.MyClassSystem.out.println(myClassEncoder.schema());//StructType()}
4. Encoders.kryo(MyClass.class)
// 创建一个使用Kryo序列化的自定义类的编码器
Test// 创建一个使用Kryo序列化的自定义类的编码器// 4. Encoders.kryo(MyClass.class)public void test_kryo(){EncoderMyClass kryo org.apache.spark.sql.Encoders.kryo(MyClass.class);System.out.println(kryo);//class[value[0]: binary]System.out.println(kryo.schema());//StructType(StructField(value,BinaryType,true))System.out.println(kryo.clsTag());//com.atguigu.sparksql.MyClass}
5. Encoders.tuple(Encoders.INT(), Encoders.STRING())
// 创建一个元组编码器用于将多个数据类型组合成一个元组
Test// 创建一个元组编码器用于将多个数据类型组合成一个元组// 5. Encoders.tuple(Encoders.INT(), Encoders.STRING())public void test_tuple(){EncoderTuple2Integer, String tupleEncoder org.apache.spark.sql.Encoders.tuple(org.apache.spark.sql.Encoders.INT(), org.apache.spark.sql.Encoders.STRING());System.out.println(tupleEncoder);//class[_1[0]: int, _2[0]: string]System.out.println(tupleEncoder.clsTag());//scala.Tuple2System.out.println(tupleEncoder.schema());//StructType(StructField(_1,IntegerType,true),StructField(_2,StringType,true))}