Hbase JAVA API 增删改查操作

Hbase JAVA API 增删改查操作

创建maven项目
添加pom依赖

​ 打开https://mvnrepository.com/ 搜索hbase

选择hbase-client, 2.2.4版本,点进去复制依赖代码

<dependency><groupId>org.apache.hbase</groupId><artifactId>hbase-client</artifactId><version>2.2.4</version>
</dependency>
创建表格

import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.*;
import org.apache.hadoop.hbase.security.User;
import org.apache.hadoop.hbase.security.access.Permission;import java.io.IOException;
import java.util.Scanner;public class Create_Table {public static void main(String[] args) throws IOException {//实例化配置信息对象,简而言之Configuration类用于连接Windows中的idea软件与Linux中的hdfs和里面的hbase等配置文件Configuration con = new Configuration();//conf对象得到数据库连接信息后使用set方法连接上zookeeper和对应的虚拟机主机名或者ip地址,此处配置在hbase-site.xmlcon.set("hbase.zookeeper.quorum","192.168.237.200");//Connection类创建连接,传入con对象参数实现hbase连接Connection conn = ConnectionFactory.createConnection(con);//Admin 类 用于管理表格的名字,创建,删除,有效,失效操作,给定对象adminAdmin admin = conn.getAdmin();//控制台提示输入表格名System.out.println("Enter the table name:");//控制台扫描提取输入的表格名Scanner sc = new Scanner(System.in);//将读取的表格名存入对象tb_name,String类型String tb_name= sc.next();//TableDescriptorBuilder 类 用于列族创建和定义,tdb为对象,TableName.valueOf(tb_name)传入刚才定义的表格名字参数TableDescriptorBuilder tdb = TableDescriptorBuilder.newBuilder(TableName.valueOf(tb_name));//使用etColumnFamily方法,以及TableDescriptorBuilder下的ColumnFamilyDescriptorBuilder实例来添加和定义列族//此处分别为Per_Info,Edu_Info两个列族tdb.setColumnFamily(ColumnFamilyDescriptorBuilder.of("Per_Info")).build();tdb.setColumnFamily(ColumnFamilyDescriptorBuilder.of("Edu_Info")).build();//使用 Admin类 admin对象 createTable方法,将tdb里的表格名+列族名参数传入,表格创建完毕admin.createTable(tdb.build());//控制台打印提示创建成功System.out.println("Table created successfully");//使用 Admin类 admin对象 close方法关闭hbase连接admin.close();}}
表格失效

import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;import java.io.IOException;
import java.util.Scanner;public class Disable_Table {public static void main(String[] args) throws IOException {//实例化配置信息对象,简而言之Configuration类用于连接Windows中的idea软件与Linux中的hdfs和里面的hbase等配置文件Configuration con = new Configuration();//conf对象得到数据库连接信息后使用set方法连接上zookeeper和对应的虚拟机主机名或者ip地址,此处配置在hbase-site.xmlcon.set("hbase.zookeeper.quorum","192.168.237.200");//Connection类创建连接,传入con对象参数实现hbase连接Connection conn = ConnectionFactory.createConnection(con);//Admin 类 用于管理表格的名字,创建,删除,有效,失效操作,给定对象adminAdmin admin = conn.getAdmin();//控制台提示输入表格名System.out.println("Enter the table Name:");//控制台扫描提取输入的表格名Scanner sc = new Scanner(System.in);//将读取的表格名存入对象tb_name,String类型String tb_name = sc.next();//使用 Admin类 admin对象 isTableDisabled方法查看表格失效情况,并将结果存入对象isDisable,类型为布尔类型Boolean isDisabled = admin.isTableDisabled(TableName.valueOf(tb_name));//如果表格有效if(isDisabled==false)//则提示表格是有效的System.out.println("Table is Enabled");//如果表格失效else//则提示表格是失效的System.out.println("Table is Disabled");//如果表格有效if(!isDisabled){//使用 Admin类 admin对象 disabTable方法,传入表格名参数将表格失效admin.disableTable(TableName.valueOf(tb_name));//控制台提示表格失效成功System.out.println("Table is Disabled now");}}
}
删除表格

import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;import java.io.IOException;
import java.util.Scanner;public class Drop_table {public static void main(String[] args) throws IOException {//实例化配置信息对象,简而言之Configuration类用于连接Windows中的idea软件与Linux中的hdfs和里面的hbase等配置文件Configuration con = new Configuration();//conf对象得到数据库连接信息后使用set方法连接上zookeeper和对应的虚拟机主机名或者ip地址,此处配置在hbase-site.xmlcon.set("hbase.zookeeper.quorum","192.168.237.200");//Connection类创建连接,传入con对象参数实现hbase连接Connection conn = ConnectionFactory.createConnection(con);//Admin 类 用于管理表格的名字,创建,删除,有效,失效操作,给定对象adminAdmin admin = conn.getAdmin();//控制台提示输入表格名System.out.println("Enter the table Name:");//控制台扫描提取输入的表格名Scanner sc = new Scanner(System.in);//将读取的表格名存入对象tb_name,String类型String tb_name = sc.next();//使用 Admin类 admin对象 isTableDisabled方法查看表格失效情况,并将结果存入对象isDisable,类型为布尔类型Boolean isDisabled = admin.isTableDisabled(TableName.valueOf(tb_name));//如果表格为有效状态if(isDisabled==false) {//使用 Admin类 admin对象 disableTable方法将表格失效admin.disableTable(TableName.valueOf(tb_name));//使用 Admin类 admin对象 deleteTable方法将表格删除admin.deleteTable(TableName.valueOf(tb_name));}//如果表格为失效状态else//使用 Admin类 admin对象 deleteTable方法将表格删除admin.deleteTable(TableName.valueOf(tb_name));//控制台打印提示表格成功删除System.out.println("Table Dropped successfuly");//关闭admin表格管理admin.close();//关闭hbase连接conn.close();}
}
删除数据

import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.*;
import org.apache.hadoop.hbase.util.Bytes;import java.io.IOException;
import java.util.Scanner;public class Delete_Data {public static void main(String[] args) throws IOException {//实例化配置信息对象,简而言之Configuration类用于连接Windows中的idea软件与Linux中的hdfs和里面的hbase等配置文件Configuration con = new Configuration();//conf对象得到数据库连接信息后使用set方法连接上zookeeper和对应的虚拟机主机名或者ip地址,此处配置在hbase-site.xmlcon.set("hbase.zookeeper.quorum","192.168.237.200");//Connection类创建连接,传入con对象参数实现hbase连接Connection conn = ConnectionFactory.createConnection(con);//Admin 类 用于管理表格的名字,创建,删除,有效,失效操作,给定对象adminAdmin admin = conn.getAdmin();//控制台提示输入表格名System.out.println("Enter the table Name:");//控制台扫描提取输入的表格名Scanner sc = new Scanner(System.in);//将读取的表格名存入对象tb_name,String类型String tb_name = sc.next();//Table 类 用于表格数据更改 table对象,表格名称数据参数传入Table table = conn.getTable(TableName.valueOf(tb_name));//控制台提示(“请输入行键”)System.out.println("Enter the row key:");//将输入的数字读入 rk 对象,String类型String rk = sc.next();//Delete 类用于删除 del对象 Hbase中数据都是字节类型,所以要将刚才的行键转化为字节类型,并存入del对象Delete del = new Delete(Bytes.toBytes(rk));//使用 Delete 类 del对象 addColumn方法 设置要删除的列族的列,都要转成字节类型操作//此处删除某一行的cf2列族,degree列,如果你的表格没有,请根据自己的表格格式更改del.addColumn(Bytes.toBytes("cf2"),Bytes.toBytes("degree"));//使用 Table类 table对象 delete方法 传入del对象包含的表格名行键列族名列名参数,删除表格数据table.delete(del);//控制台提示删除数据成功System.out.println("Data Deleted Successfully");//table表格更改关闭table.close();//连接hbase关闭conn.close();}
}
删除多个数据 使用List数组

import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.Delete;
import org.apache.hadoop.hbase.client.Table;
import org.apache.hadoop.hbase.util.Bytes;import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;public class List_Delete {public static void main(String[] args) throws IOException {//实例化配置信息对象,简而言之Configuration类用于连接Windows中的idea软件与Linux中的hdfs和里面的hbase等配置文件Configuration con = new Configuration();//conf对象得到数据库连接信息后使用set方法连接上zookeeper和对应的虚拟机主机名或者ip地址,此处配置在hbase-site.xmlcon.set("hbase.zookeeper.quorum","192.168.237.200");//Connection类创建连接,传入con对象参数实现hbase连接Connection conn = ConnectionFactory.createConnection(con);//Admin 类 用于管理表格的名字,创建,删除,有效,失效操作,给定对象adminAdmin admin = conn.getAdmin();//控制台提示输入表格名System.out.println("Enter the table Name:");//控制台扫描提取输入的表格名Scanner sc = new Scanner(System.in);//将读取的表格名存入对象tb_name,String类型String tb_name = sc.next();//Table 类 用于表格数据更改 table对象,表格名称数据参数传入Table table = conn.getTable(TableName.valueOf(tb_name));//Delete 类, 设置删除行键为1, 存入del1对象Delete del1 = new Delete(Bytes.toBytes("1"));//使用 Delete类 del1对象 addColumn方法 设置列族为cf1,列为agedel1.addColumn(Bytes.toBytes("cf1"),Bytes.toBytes("age"));//Delete 类, 设置删除行键为12, 存入del2对象Delete del2 = new Delete(Bytes.toBytes("12"));//使用 Delete类 del2对象 addColumn方法 设置列族为cf1,列为namedel1.addColumn(Bytes.toBytes("cf1"),Bytes.toBytes("name"));//Delete 类, 设置删除行键为4, 存入del3对象Delete del3 = new Delete(Bytes.toBytes("4"));//使用 Delete类 del3对象 addColumn方法 设置列族为cf1,列为namedel1.addColumn(Bytes.toBytes("cf1"),Bytes.toBytes("name"));//List类 创建一个数组类型的Delete,对象listList<Delete> list = new ArrayList<Delete>();//使用List类,list对象,add方法,将del1 del2 del3参数传入数组list.add(del1);list.add(del2);list.add(del3);//使用Table类 table对象 delete方法,传入list对象参数,删除数组数据,即三个表格数据同时删除table.delete(list);//控制台打印数据删除成功提示System.out.println("Data Deleted Successfully");//关闭更改表格table.close();//关闭hbase连接conn.close();}
}
插入数据

import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.client.Table;
import org.apache.hadoop.hbase.util.Bytes;import java.io.IOException;
import java.util.Scanner;public class Insert_Data {public static void main(String[] args) throws IOException {//实例化配置信息对象,简而言之Configuration类用于连接Windows中的idea软件与Linux中的hdfs和里面的hbase等配置文件Configuration con = new Configuration();//conf对象得到数据库连接信息后使用set方法连接上zookeeper和对应的虚拟机主机名或者ip地址,此处配置在hbase-site.xmlcon.set("hbase.zookeeper.quorum","192.168.237.200");//Connection类创建连接,传入con对象参数实现hbase连接Connection conn = ConnectionFactory.createConnection(con);//Admin 类 用于管理表格的名字,创建,删除,有效,失效操作,给定对象adminAdmin admin = conn.getAdmin();//控制台提示输入表格名System.out.println("Enter the table Name:");//控制台扫描提取输入的表格名Scanner sc = new Scanner(System.in);//将读取的表格名存入变量tb_name,String类型String tb_name = sc.next();//Table 类 用于表格数据更改 table对象,表格名称数据参数传入Table table = conn.getTable(TableName.valueOf(tb_name));//控制台提示输入插入数据的行键System.out.println("Enter the row key:");//读取的行间数据放入rk这个变量,String类型String rk = sc.next();//Put 类 用于数据插入,将rk行键参数传入 p对象, 全部转化为字节类型Put p = new Put(Bytes.toBytes(rk));//使用 Put类 p对象 addColumn方法插入具体数据,第一个为列族,第二个为列,第三个为值,全部转化为字节类型p.addColumn(Bytes.toBytes("cf1"),Bytes.toBytes("name"),Bytes.toBytes("Lily"));p.addColumn(Bytes.toBytes("cf1"),Bytes.toBytes("age"),Bytes.toBytes("20"));p.addColumn(Bytes.toBytes("cf2"),Bytes.toBytes("degree"),Bytes.toBytes("MBA"));//使用Table类 table对象 put方法,传入参数p,包含表格名,列族,列,值table.put(p);//控制台提示插入数据成功System.out.println("Data inserted successfully");//关闭表格更改table.close();//关闭hbase链接conn.close();}
}
插入多个数据,使用List数组

import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.client.Table;
import org.apache.hadoop.hbase.util.Bytes;import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;public class List_Insert {public static void main(String[] args) throws IOException {//实例化配置信息对象,简而言之Configuration类用于连接Windows中的idea软件与Linux中的hdfs和里面的hbase等配置文件Configuration con = new Configuration();//conf对象得到数据库连接信息后使用set方法连接上zookeeper和对应的虚拟机主机名或者ip地址,此处配置在hbase-site.xmlcon.set("hbase.zookeeper.quorum","192.168.237.200");//Connection类创建连接,传入con对象参数实现hbase连接Connection conn = ConnectionFactory.createConnection(con);//控制台提示输入表格名System.out.println("Enter the table Name:");//控制台扫描提取输入的表格名Scanner sc = new Scanner(System.in);//将读取的表格名存入变量tb_name,String类型String tb_name = sc.next();//Table 类 用于表格数据更改 table对象,表格名称数据参数传入Table table = conn.getTable(TableName.valueOf(tb_name));//使用 Put 类 p1对象插入行键为7,列族为cf1,列为name,值为MiryPut p1 = new Put(Bytes.toBytes("7"));p1.addColumn(Bytes.toBytes("cf1"),Bytes.toBytes("name"),Bytes.toBytes("Miry"));//使用 Put 类 p2对象插入行键为8,列族为cf1,列为name,值为PeterPut p2 = new Put(Bytes.toBytes("8"));p2.addColumn(Bytes.toBytes("cf1"),Bytes.toBytes("name"),Bytes.toBytes("Peter"));//使用 Put 类 p3对象插入行键为9,列族为cf1,列为name,值为MikePut p3 = new Put(Bytes.toBytes("9"));p3.addColumn(Bytes.toBytes("cf1"),Bytes.toBytes("name"),Bytes.toBytes("Mike"));//List类 创建一个数组类型的Put,对象listList<Put> list = new ArrayList<Put>();//使用List类,list对象,add方法,将p1,p2,p3 参数传入数组list.add(p1);list.add(p2);list.add(p3);//使用Table类 table对象 put方法插入数据至表格,参数为listtable.put(list);//控制台提示数据插入成功System.out.println("Data inserted successfully");//关闭表格更改table.close();//关闭hbase链接conn.close();}
}
读取数据GET

import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.*;
import org.apache.hadoop.hbase.util.Bytes;import java.io.IOException;
import java.util.Scanner;public class ReadData_GET {public static void main(String[] args) throws IOException {//实例化配置信息对象,简而言之Configuration类用于连接Windows中的idea软件与Linux中的hdfs和里面的hbase等配置文件Configuration con = new Configuration();//conf对象得到数据库连接信息后使用set方法连接上zookeeper和对应的虚拟机主机名或者ip地址,此处配置在hbase-site.xmlcon.set("hbase.zookeeper.quorum","192.168.237.200");//Connection类创建连接,传入con对象参数实现hbase连接Connection conn = ConnectionFactory.createConnection(con);//控制台提示输入表格名System.out.println("Enter the table Name:");//控制台扫描提取输入的表格名Scanner sc = new Scanner(System.in);//将读取的表格名存入变量tb_name,String类型String tb_name = sc.next();//Table 类 用于表格数据更改 table对象,表格名称数据参数传入Table table = conn.getTable(TableName.valueOf(tb_name));//控制台提示输入行键System.out.println("Enter the row key:");//提取的行键数据存入rk变量String rk = sc.next();//Get 类 g对象 用于hbase表格数据提取,传入参数行键rk,存入对象gGet g = new Get(Bytes.toBytes(rk));//Result 类 result对象 用于结果返回提取,传入参数对象gw,存入result对象Result result = table.get(g);//通过 Result类 result对象 getValue方法 提取列族和列名,都是字节类型byte[] name = result.getValue(Bytes.toBytes("cf1"),Bytes.toBytes("name"));byte[] age = result.getValue(Bytes.toBytes("cf1"),Bytes.toBytes("age"));byte[] degree =result.getValue(Bytes.toBytes("cf2"),Bytes.toBytes("degree"));//控制台提示输出转化为String类型的对应数据System.out.println("Name = "+Bytes.toString(name));System.out.println("Age = "+Bytes.toString(age));System.out.println("Degree = "+Bytes.toString(degree));//关闭表格更改table.close();//关闭hbase链接conn.close();}
}

e[] age = result.getValue(Bytes.toBytes(“cf1”),Bytes.toBytes(“age”));
byte[] degree =result.getValue(Bytes.toBytes(“cf2”),Bytes.toBytes(“degree”));
//控制台提示输出转化为String类型的对应数据
System.out.println("Name = "+Bytes.toString(name));
System.out.println("Age = "+Bytes.toString(age));
System.out.println("Degree = "+Bytes.toString(degree));
//关闭表格更改
table.close();
//关闭hbase链接
conn.close();
}
}


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

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

相关文章

在Ubuntu系统上部署Docker和Docker-Compose服务(实战篇)

前言 在这篇文章中&#xff0c;我们将从查看防火墙状态开始&#xff0c;逐步引导大家完成Docker和Docker-Compose的安装、配置以及使用过程。通过学习这些关键步骤&#xff0c;你将更加熟练地运用容器技术&#xff0c;为未来的项目提供更便捷的开发和部署方案。 无论你是刚刚…

RocketMq环境搭建

目录 MQ作用 RocketMQ背景 MQ对比 RocketMQ环境搭建 搭建dashboard可视化界面 MQ作用 异步解耦削峰 RocketMQ背景 ​ RocketMQ是阿里巴巴开源的一个消息中间件&#xff0c;在阿里内部历经了双十一等很多高并发场景的考验&#xff0c;能够处理亿万级别的消息。2016年开源…

编程实战:类C语法的编译型脚本解释器(二)Token和变量

系列入口&#xff1a;编程实战&#xff1a;类C语法的编译型脚本解释器&#xff08;系列&#xff09;-CSDN博客 现在开始解释所有的设计思想和与源代码。先从外围入手&#xff0c;最后会进入到一个巨大的解析语法的类。 本文介绍TOKEN和变量。 目录 一、TOKEN 1.1 定义Token类…

跨端的三种方案原理和对比(WebView,ReactNative,Flutter)

一、定义 WebView WebView是什么&#xff1f; 答&#xff1a; 第一代跨平台框架&#xff0c;代表者为&#xff1a;PhoneGap、微信小程序。 WebView标签是一种用于在网页中嵌入浏览器窗口的HTML元素。它的底层原理是通过原生平台提供的浏览器引擎来实现网页的渲染和交互。 …

windows下DSS界面本地集成linkis管理台

说明&#xff1a;当前开发环境为windows&#xff0c;node版本使用16.15.1。启动web时&#xff0c;确保后端服务已准备就绪。 1.linkis web编译 #进入项目WEB根目录 $ cd linkis/linkis-web #安装项目所需依赖 $ npm install参考官方编译说明&#xff0c;windows下编译一直异常…

代理IP和网络加速器的区别有哪些

随着互联网的普及&#xff0c;越来越多的人开始使用网络加速器来提高网络速度。然而&#xff0c;很多人并不清楚代理IP和网络加速器之间的区别。本文将详细介绍两者的概念及区别。 一、代理IP 代理IP是一种通过代理服务器进行网络连接的方式。在使用流冠代理IP时&#xff0c;用…

数据结构算法-希尔排序

引言 在一个普通的下午&#xff0c;小明和小森决定一起玩“谁是老板”的扑克牌游戏。这次他们玩的可不仅仅是娱乐&#xff0c;更是要用扑克牌来决定谁是真正的“大老板”。 然而&#xff0c;小明的牌就像刚从乱麻中取出来的那样&#xff0c;毫无头绪。小森的牌也像是被小丑掷…

视觉检测系统在半导体行业的应用

一、半导体产业链概述 半导体产业链是现代电子工业的核心组成部分&#xff0c;涵盖了从原材料到最终产品的整个生产过程。这个产业链主要分为以下几个环节&#xff1a; 1.原材料供应&#xff1a;半导体行业的基石是半导体材料&#xff0c;如硅片、化合物半导体等。这些材料需要…

搭建CIG容器重量级监控平台

CIG简介 CIG监控平台是基于CAdvisor、InfluxDB和Granfana构建的一个容器重量级监控系统&#xff0c;用于监控容器的各项性能指标&#xff0c;通过三者的结合&#xff0c;CIG监控平台可以实现对容器性能的全面监控和可视化展示&#xff0c;为容器的性能和运行状态提供了一个全面…

HTML5+CSS3+JS小实例:焦点图波浪切换动画特效

实例:焦点图波浪切换动画特效 技术栈:HTML+CSS+JS 字体图标库:Font Awesome 效果: 源码: 【HTML】 <!DOCTYPE html> <html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"><meta name=&…

★538. 把二叉搜索树转换为累加树

538. 把二叉搜索树转换为累加树 在Java中使用类变量&#xff0c;就相当于用了C 中的全局变量。 第一次在Java中用全局变量的知识。 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNod…

前端React基础面试题

1,说说react里面bind函数与箭头函数 bind 由于在类中,采用的是严格模式,所以事件回调的时候会丢失this指向,指向的undefined,需要使用bind来给函数绑定上当前实例的this指向。 箭头函数的this指向上下文,所以永久能拿到当前组件实例的。this指向我们可以完美的使用箭头…

simulink同步机储能二次调频AGC,连续扰动负荷,储能抑制频率波动振荡震荡

若想观测二次调频性能&#xff0c;&#xff0c;切换为单一扰动即可&#xff0c;如下图所示。 AGC调速器都已经封装。后续也可加入风机光伏水电等资源。

ResNet(残差网络)详解

ResNet&#xff08;残差网络&#xff09;详解 ResNet&#xff08;残差网络&#xff09;是一种深度神经网络架构&#xff0c;主要用于解决深度学习中的梯度消失和梯度爆炸问题&#xff0c;特别在深层网络的训练中表现出色。 ResNet 的核心概念 1. 残差学习 在传统的深度神经…

【技术分享】ORACLE数据库相关操作

【赠送】IT技术视频教程&#xff0c;白拿不谢&#xff01;思科、华为、红帽、数据库、云计算等等https://xmws-it.blog.csdn.net/article/details/117297837?spm1001.2014.3001.5502[欢迎关注微信公众号&#xff1a;厦门微思网络] -- 截断表 TRUNCATE TABLE TABLE_NAME; -- …

java面试题-谈谈sql优化-mysql

远离八股文&#xff0c;面试大白话&#xff0c;通俗且易懂 看完后试着用自己的话复述出来。有问题请指出&#xff0c;有需要帮助理解的或者遇到的真实面试题不知道怎么总结的也请评论中写出来&#xff0c;大家一起解决。 这是面试总结出来的几点&#xff0c;每次问道都是这么回…

最新关于openai.APIConnectionError: Connection error.的解决方法

其实是和以前一样的处理方式&#xff0c;&#xff08;挂魔法&#xff09;修改代理&#xff0c;但是openai的源码改了&#xff0c;好多博客的方法不能用了。现在给一个新的修改方式&#xff0c;自己用的&#xff0c;发现可以。 1.找到pip下载的openai的Lib&#xff0c;找到_base…

使用Ansible lineinfile模块进行行级别操作

Ansible是一种功能强大的自动化工具&#xff0c;它提供了各种模块来简化配置管理任务。其中&#xff0c;lineinfile模块是一种特别有用的模块&#xff0c;它允许我们在文件中插入、修改或删除行。本文将介绍Ansible的lineinfile模块&#xff0c;并演示如何使用它来进行行级别操…

01数仓平台 Hadoop介绍与安装

Hadoop概述 Hadoop 是数仓平台的核心组件。 在 Hadoop1.x 时代&#xff0c;Hadoop 中的 MapReduce 同时处理业务逻辑运算和资源调度&#xff0c;耦合性较大。在 Hadoop2.x 时代&#xff0c;增加了 Yarn。Yarn 只负责资源的调度&#xff0c;MapReduce 只负责运算。Hadoop3.x 在…

Python 发送阿里云手机短信消息

一般用于发送验证码&#xff0c;本代码实现功能如下&#xff1a; 1、联接MsSqlServer获取短信任务清单&#xff0c;这个可以业务系统往该表插数据 2、根据阿里云短信息的相关信息&#xff08;appid,secret,消息模板&#xff09;&#xff0c;发送手机消息 3、创建定时任务&#…