Java常用API之Encoders类解读

写在开头:本文用于作者学习Java常用API

我将官方文档中Collections类中所有API全测了一遍并打印了结果,日拱一卒,常看常新

在Spark中,Encoders类提供了一些静态方法用于创建不同数据类型的编码器。

首先,我遇到这样一个问题,就是:

Encoder<String> 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(){Encoder<String> 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(){Encoder<Integer> 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(){Encoder<MyClass> 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(){Encoder<MyClass> 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(){Encoder<Tuple2<Integer, 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))}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/787620.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

区块链面试题总结

1、什么是区块链&#xff1f; 区块链是不间断的经济交易数字分类账&#xff0c;可以进行编程&#xff0c;以记录不止金融交易&#xff0c;还可以记录其他有价值的东西&#xff0c;简单来说&#xff0c;区块链是一个不可变记录的分布式数据库&#xff0c;该数据库由计算机集群来…

今后的推进计划方针

今后的推进计划方针 信息数学物理 信息 线段树&#xff0c;其它的随缘。 数学 三角函数&#xff08;必修3&#xff09;-> 对数函数和指数函数 物理 随缘

Docker部署Nexus Maven私服并且实现远程访问Nexus界面

目录 ⛳️推荐 1. Docker安装Nexus 2. 本地访问Nexus 3. Linux安装Cpolar 4. 配置Nexus界面公网地址 5. 远程访问 Nexus界面 6. 固定Nexus公网地址 7. 固定地址访问Nexus ⛳️推荐 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&am…

使用混沌加密图像(MATLAB)

logistic图像加密是一种基于混沌理论的加密算法,它利用混沌系统的特性,如敏感依赖于初始条件和参数的非线性动态行为,来生成密钥和进行加密解密操作。以下是逻辑加密的基本原理和过程: 基本原理: 混沌系统特性利用:逻辑加密基于混沌系统的特性,利用混沌系统的非线性、不…

Vue3:使用Pinia的$subscribe+localStorage实现数据存储

一、情景说明 我们学习Vue的时候&#xff0c;知道可以用watch来监听数据的变化 那么&#xff0c;Pinia的store中的数据发生变化&#xff0c;如何监听了&#xff1f; 这里就用到$subscribe来实现效果 这一篇&#xff0c;$subscribelocalStorage实现数据存储的案例&#xff0c…

Nginx开发实战三:替换请求资源中的固定数据

文章目录 1.效果预览2.下载Nginx解压并初始化3.字符串替换模块安装4.修改nginx配置文件并重启 1.效果预览 页面初始效果 页面替换后效果 说明:页面是内网的一个地址&#xff0c;我们通过nginx可以很便捷的将其改为外网访问&#xff0c;但是在外网访问这个地址后&#xff0c…

windows 使用 wsl 安装 linux 子系统

windows 使用 wsl 安装 linux 子系统 介绍使用如何启动设置基本配置安装和配置 SSH 服务 介绍 WSL&#xff08;Windows Subsystem for Linux&#xff09;是微软为Windows 10和Windows 11操作系统提供的一个功能&#xff0c;它允许用户在Windows上直接运行GNU/Linux环境。WSL提…

剑指offer--数组中重复的数字

一.题目描述 在一个长度为 n 的数组 nums 里的所有数字都在 0&#xff5e;n-1 的范围内。数组中某些数字是重复的&#xff0c;但不知道有几个数字重复了&#xff0c;也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 算法1.排序,然后遍历,时间复杂度O(nlogn),空…

私域流量黄金时代:SCRM赋能企业深度运营

随着互联网的不断发展&#xff0c;私域流量已成为企业运营中不可或缺的一部分。私域流量不仅代表着企业的忠实用户群体&#xff0c;更是企业进行精细化运营、提升品牌价值的重要阵地。在这样的背景下&#xff0c;社会化客户关系管理&#xff08;SCRM&#xff09;应运而生&#…

SpringBoot + Redis 实现接口限流,一个注解的事

Redis 除了做缓存,还能干很多很多事情:分布式锁、限流、处理请求接口幂等性。。。太多太多了~今天想和小伙伴们聊聊用 Redis 处理接口限流。 1. 准备工作 首先我们创建一个 Spring Boot 工程,引入 Web 和 Redis 依赖,同时考虑到接口限流一般是通过注解来标记,而注解是通…

【力扣一刷】代码随想录day28(93.复原IP地址、78.子集、90.子集II )

目录 【93.复原IP地址】中等题&#xff08;偏难&#xff0c;坑很多&#xff09; 【78.子集】中等题&#xff08;偏简单&#xff09; 【90.子集II】中等题 【93.复原IP地址】中等题&#xff08;偏难&#xff0c;坑很多&#xff09; 思路&#xff1a;以101023为例子 1、将题目…

输出100~200之间的素数(C语言)

一、运行结果&#xff1b; 二、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h>//实现素数判断函数&#xff1b; int Prime(int number) {//初始化变量值&#xff1b;int divided 2;int JudgementCondition 0;//循环判断素数&#xff1b;wh…

(C)1007 素数对猜想

1007 素数对猜想 问题描述 输入样例&#xff1a; 20 输出样例&#xff1a; 4 解决方案&#xff1a; #include<stdio.h> #include<string.h> #include<math.h> int main(){int n,d;int a[100000];int flag,jishu0;scanf("%d",&n);memset(a,-1,…

基于51单片机甲醛浓度检测设计

基于51单片机甲醛浓度检测设计 &#xff08;仿真&#xff0b;程序&#xff0b;原理图&#xff0b;PCB&#xff0b;设计报告&#xff09; 功能介绍 具体功能&#xff1a; 1.甲醛浓度数据经过单片机处理&#xff0c;由LCD1602实时显示。 2.可通过按键设置甲醛报警阈值&#xff…

RK3568驱动指南|第十四篇 单总线-第158章DS18B20编写字符设备驱动框架

瑞芯微RK3568芯片是一款定位中高端的通用型SOC&#xff0c;采用22nm制程工艺&#xff0c;搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码&#xff0c;支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU&#xff0c;可用于轻量级人工…

鸿蒙原生应用开发-网络管理HTTP数据请求

一、场景介绍 应用通过HTTP发起一个数据请求&#xff0c;支持常见的GET、POST、OPTIONS、HEAD、PUT、DELETE、TRACE、CONNECT方法。 二、接口说明 HTTP数据请求功能主要由http模块提供。 使用该功能需要申请ohos.permission.INTERNET权限。 涉及的接口如下表&#xff0c;具体的…

【pytest】fixture机制

目录 概念fixture 的主要特点测试场景1. 准备和清理测试数据2. 模拟外部依赖3. 共享资源&#xff08;如数据库连接&#xff09;4. 使用内置 fixture5. 自动使用 fixture 用途 概念 fixture机制是pytest测试框架中的一个核心概念&#xff0c;它提供了一种用于处理测试所需资源的…

vim中如何使用Vundle插件管理器?

本文结构&#xff1a; a、简介 b、安装 c、用法举例 a、Vundle是一个Vim插件管理器&#xff0c;它极大地简化了Vim插件的安装、更新和卸载过程。Vundle通过简化Vim插件的管理过程&#xff0c;帮助用户更高效地定制他们的Vim编辑环境。 b、安装Vundle Vundle的安装通常是通…

鸿蒙OS元服务开发:【WebGL网页图形库开发概述】

WebGL的全称为Web Graphic Library(网页图形库)&#xff0c;主要用于交互式渲染2D图形和3D图形。目前HarmonyOS中使用的WebGL是基于OpenGL裁剪的OpenGL ES&#xff0c;可以在HTML5的canvas元素对象中使用&#xff0c;无需使用插件&#xff0c;支持跨平台。WebGL程序是由JavaScr…

HBase报错:Master is initializing

现象&#xff1a;org.apache.hadoop.hbase.PleaseHoldException: Master is initializing 描述&#xff1a;在启动HBase之后进入bin/hbase shell 命令行进行一些操作&#xff0c;比如建表或者添加数据到表中出现这种报错org.apache.hadoop.hbase.PleaseHoldException: Master …