当前位置: 首页 > news >正文

python--将mysql建表语句转换成hive建表语句

1.代码

import json
import sys
import pymysqldef queryDataBase(tablename):# 连接数据库并查询列信息conn = pymysql.connect(user='root', password='123456', host='hadoop11')cursor = conn.cursor()cursor.execute("SELECT column_name, data_type FROM information_schema.`COLUMNS` WHERE TABLE_SCHEMA = 'db1' AND table_name = %s ORDER BY ordinal_position",[tablename])fetchall = cursor.fetchall()cursor.close()conn.close()return fetchalldef getColumnAndType(tablename):# 查询数据库获取列名和类型k1 = queryDataBase(tablename)mappings = {'bigint': 'bigint','varchar': 'string','int': 'int','datetime': 'string','text': 'string','decimal': 'double','double': 'double','date': 'string','time': 'string','varbinary': 'string'}# 构造列定义字符串columns = '\n'.join([f"`{col[0]}` {mappings[col[1].lower()]+','}" for col in k1])columns = columns.rstrip(",")return columnsdef gen_hive(tablename):# 生成 Hive 建表语句columns = getColumnAndType(tablename)hive_sql = f"""  CREATE TABLE IF NOT EXISTS db1.{tablename} (  {columns}  )  ROW FORMAT DELIMITED  FIELDS TERMINATED BY '\\t'  STORED AS TEXTFILE;  """return hive_sqlif __name__ == '__main__':l = sys.argv[1:]if len(l) == 0:print(f'参数为空,请传递表名')else:tablename = l[0]hive_sql = gen_hive(tablename)print(hive_sql)

2.传入参数(表名) 

3.运行结果

相关文章:

python--将mysql建表语句转换成hive建表语句

1.代码 import json import sys import pymysqldef queryDataBase(tablename):# 连接数据库并查询列信息conn pymysql.connect(userroot, password123456, hosthadoop11)cursor conn.cursor()cursor.execute("SELECT column_name, data_type FROM information_schema.C…...

异步调用实践:Async,Future, TaskExecutor、EventListener

1. 异步调用概述 异步调用允许一个方法调用在不被当前线程阻塞的情况下继续执行,而调用者可以继续执行其他任务,直到异步操作完成。 在Spring Boot中,异步调用常用于提高应用的响应性和吞吐量,尤其是在处理长时间运行的任务时&a…...

Flask 异常处理

Flask 异常处理 使用 app.errorhandler 装饰器使用 app.handle_exception 装饰器使用 register_error_handler调试模式总结 在 Flask 应用中,异常处理是一个非常重要的部分,它可以帮助你管理运行时错误,提供友好的错误页面,以及记…...

【海思SS626 | 内存管理】海思芯片的OS内存、MMZ内存设置

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…...

linux crontab没有按照规则执行排查

配置了cron规则,但是一段时间后任务没有按预期执行,记录一次修复过程 检查crond服务 systemctl status crond规则正常 crontab -l脚本有执行权限 查看日志 第一种:journalctl journalctl -u crond | grep 03:00 -C 3-u 指定crond.serv…...

Cloudflare的D1使用技巧

总文档&#xff1a;https://developers.cloudflare.com/workers/wrangler/commands/#d1查询某个数据库中哪些命令占用资源最大&#xff1a; To find top 10 queries by execution count: npx wrangler d1 insights <database_name> --sort-typesum --sort-bycount --co…...

解决端口号被占用问题

第一种&#xff1a; 最简单有效的方法&#xff0c;重启一下电脑&#xff0c;占用此端口的程序就会释放端口。 第二种&#xff1a; 使用命令找到占用端口的程序&#xff0c;把它关闭。 1、打开运行窗口输入&#xff1a;CMD &#xff0c;进入命令窗口。 2、输入&#xff1a;n…...

如何在linux上部署zabbix监控工具

<1>搭建服务机 1&#xff09;首先我们先执行 sed -i s/SELINUXenforcing/SELINUXdisabled/ /etc/selinux/config ​ #然后我们再把防火墙开机自启关掉 马上生效 systemctl disable --now firewalld 2&#xff09;我们获得rpm包 rpm -Uvh https://mirrors.aliyun.com/…...

vulnhub系列:sp eric

vulnhub系列&#xff1a;sp eric 靶机下载 一、信息收集 nmap扫描存活&#xff0c;根据mac地址寻找IP nmap 192.168.23.0/24nmap扫描端口&#xff0c;开放端口&#xff1a;22、80 nmap 192.168.23.189 -p- -A -sV -Pndirb 扫描目录&#xff0c;.git 源码&#xff0c;admin…...

JVM二:JVM类加载机制

目录 前言 1.什么是类加载? 2.类加载整体流程 3.一个类什么时候被加载? 4.双亲委派模型 4.1 JVM默认提供了三个类加载器 4.1.1 BootstrapClassLoader 4.1.2 ExtensionClassLoader 4.1.3 ApplicationClassLoader 4.2 破坏双亲委派模型 前言 在上一篇文章中&#xf…...

对于springboot无法连接redis解决方案

对于springboot无法连接redis解决方案 一、测试是否能在本地应用上访问到你的redis&#xff08;如果是部署在linux上的话&#xff09;1. 开启telnet功能2. 开始测试端口是否能访问到&#xff08;适用于所有&#xff0c;包括MQ&#xff09;3. 开放6379端口4. 看spring的配置文件…...

关于android中的各种尺寸与计算

--张学友《心如刀割》很好听 先说几个术语&#xff1a; Screen size(屏幕尺寸)&#xff1a; 指的是手机实际的物理尺寸&#xff0c;比如常用的2.8英寸&#xff0c;3.2英寸&#xff0c;3.5英寸&#xff0c;3.7英寸 摩托罗拉milestone手机是3.7英寸 Aspect Ratio(宽高比率)&am…...

MySQL避免索引失效的方法详细介绍

避免索引失效 在MySQL中&#xff0c;索引是帮助MySQL高效获取数据的数据结构。它就像一本书的目录&#xff0c;通过索引可以快速定位到数据的具体位置&#xff0c;从而减少对数据库的扫描量&#xff0c;提高查询速度。索引可以存储在表中的一个或多个列上&#xff0c;创建索引…...

【Java】深入了解 Java 的 charAt() 方法

我最爱的那首歌最爱的angel 我到什么时候才能遇见我的angel 我最爱的那首歌最爱的angel 我不是王子也会拥有我的angel &#x1f3b5; 张杰《云中的angel》 在 Java 编程中&#xff0c;字符串&#xff08;String&#xff09;是我们经常处理的数据类型之一。…...

Linux 下 ETCD 安装、配置与命令使用总结

​ 大家好&#xff0c;我是程序员小羊&#xff01; 前言&#xff1a; Linux 下 ETCD 安装、配置与命令使用总结 ETCD 是一个分布式键值存储系统&#xff0c;广泛用于服务发现、分布式锁、配置管理等场景&#xff0c;特别是在 Kubernetes 集群中发挥着至关重要的作用。ETCD 的高…...

C++笔试练习笔记【7】:力扣 91. 解码方法 动态规划练习

文章目录 题目题目分析思路解法正常解法优化解法 题目 题目链接&#xff1a;力扣 91. 解码方法 备用链接&#xff1a;https://leetcode.cn/problems/decode-ways/description/ 题目分析 1.首先我们知道题目给定A~Z编码为1 ~26 &#xff0c;而数字十一字符串的形式给出所以…...

【antd】antd3的表单校验不提示报错信息

描述 不是网上所谓的自定义校验方法的问题。 今天在写一个antd3的业务的时候&#xff0c;封装一个组件&#xff0c;把校验和请求事件放在一个方法里面&#xff0c;用回调或者promise进行异步处理。 发现原因是在校验错误的判断&#xff0c;进行callback之后&#xff0c;页面…...

Game AI ——游戏人工智能(逻辑及剧情生成)

一、Game AI 的介绍 "Game AI"&#xff08;游戏人工智能&#xff09;通常指的是在电子游戏中使用的各种人工智能技术和算法&#xff0c;用于控制游戏中的非玩家角色&#xff08;NPC&#xff09;、敌人、队友等&#xff0c;以及为玩家提供有挑战性的对手或有趣的互动…...

算法基础知识——核函数

简介&#xff1a;个人学习分享&#xff0c;如有错误&#xff0c;欢迎批评指正 核函数&#xff08;Kernel Function&#xff09;是机器学习中一种重要的工具&#xff0c;特别是在支持向量机&#xff08;SVM&#xff09;、核岭回归、核主成分分析&#xff08;KPCA&#xff09;等核…...

安卓xml乱码/加密转换:abx2xml和xml2abx使用及源码介绍

背景&#xff1a; 上一篇文章 android系统中data下的xml乱码无法查看问题剖析及解决方法 发布后&#xff0c;想要寻找一个可以直接把二进制xml和普通xml进行相互转换的&#xff0c;当时还写了相关的方案&#xff0c;但是当时没有找到现成的开源工具&#xff0c;后来经过相关粉…...

AutoMdxBuilder: 零基础高效制作专业MDX词典的自动化解决方案

AutoMdxBuilder: 零基础高效制作专业MDX词典的自动化解决方案 【免费下载链接】AutoMdxBuilder Automatically make mdx dictionaries 项目地址: https://gitcode.com/gh_mirrors/au/AutoMdxBuilder 当语言教师李老师第三次因为图片路径错误导致MDX词典&#xff08;一种…...

DeepAnalyze模型量化部署实战:减小50%显存占用

DeepAnalyze模型量化部署实战&#xff1a;减小50%显存占用 1. 引言 你是不是遇到过这样的情况&#xff1a;好不容易找到一个强大的AI模型&#xff0c;比如最近很火的DeepAnalyze数据分析大模型&#xff0c;结果发现自己的显卡根本跑不起来&#xff1f;8GB显存的消费级显卡只能…...

5分钟实现零代码GUI开发!ImStudio让Dear ImGui界面设计效率倍增

5分钟实现零代码GUI开发&#xff01;ImStudio让Dear ImGui界面设计效率倍增 【免费下载链接】ImStudio GUI layout designer for Dear ImGui 项目地址: https://gitcode.com/gh_mirrors/im/ImStudio 作为开发者&#xff0c;你是否曾为编写GUI界面而头疼&#xff1f;是否…...

微信数据解密技术解析:从原理到实战的完整指南

微信数据解密技术解析&#xff1a;从原理到实战的完整指南 【免费下载链接】PyWxDump 删库 项目地址: https://gitcode.com/GitHub_Trending/py/PyWxDump 在数字化时代&#xff0c;个人数据管理变得愈发重要。微信作为主流社交平台&#xff0c;其加密存储的数据给合法备…...

效率提升利器:用快马AI生成批量域名健康检查工具,告别手动刷新

效率提升利器&#xff1a;用快马AI生成批量域名健康检查工具&#xff0c;告别手动刷新 作为开发者或运维人员&#xff0c;我们经常需要监控一批服务域名的健康状态。比如最近公司新上线了一批jxx相关的域名&#xff0c;需要定期检查它们的可用性和响应速度。传统的手动刷新浏览…...

如何高效一键完整导出QQ空间历史说说:GetQzonehistory专业指南

如何高效一键完整导出QQ空间历史说说&#xff1a;GetQzonehistory专业指南 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory GetQzonehistory是一款专业的开源工具&#xff0c;专门用于自…...

FUTURE POLICE模型资源监控与告警:保障生产环境稳定运行

FUTURE POLICE模型资源监控与告警&#xff1a;保障生产环境稳定运行 部署好一个像FUTURE POLICE这样的大模型&#xff0c;只是第一步。真正考验人的&#xff0c;是让它能7x24小时稳定、可靠地跑在生产环境里。想象一下&#xff0c;半夜三更&#xff0c;你的模型服务突然因为显…...

PyTorch 2.8镜像智能助手:科研人员用预装Jupyter+Pandas快速分析训练指标

PyTorch 2.8镜像智能助手&#xff1a;科研人员用预装JupyterPandas快速分析训练指标 1. 为什么科研人员需要这个镜像 深度学习研究中最耗时的往往不是算法设计&#xff0c;而是环境配置和数据准备。传统开发流程中&#xff0c;研究人员需要花费大量时间在&#xff1a; 安装C…...

剧本杀教程生成指南2025,解析,轻松掌握创作技巧

剧本杀教程生成指南2025&#xff0c;解析&#xff0c;轻松掌握创作技巧剧本杀作为一种新兴的娱乐方式&#xff0c;近年来在全球范围内迅速流行。随着越来越多的人加入到剧本杀的创作和体验中&#xff0c;如何高效地创作出高质量的剧本成为了一个热门话题。本文将为你提供一份详…...

极简配置:OpenClaw快速接入Phi-3-mini-128k-instruct的HTTP接口

极简配置&#xff1a;OpenClaw快速接入Phi-3-mini-128k-instruct的HTTP接口 1. 为什么选择Phi-3-mini-128k-instruct 上周我在调试一个自动化文档处理流程时&#xff0c;发现现有的大模型响应速度跟不上我的实时需求。经过几轮测试&#xff0c;最终选择了微软开源的Phi-3-min…...