xslx表格文件采集到hdfs流程&hdfs数据 load到hive表

这篇具有很好参考价值的文章主要介绍了xslx表格文件采集到hdfs流程&hdfs数据 load到hive表。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

xslx表格文件采集到hdfs

咱们就是说,别的话不多说,直接开始实操

xslx在win系统上,打开后另存为csv文件格式,上传到linux系统中。(注意下编码格式,不然后面就是中文乱码)。

file -i csv文件
可以查看文件现在的编码格式(编码格式不匹配会导致文件内中文乱码)。

修改文件的编码格式:

iconv -f gbk -t UTF-8 目标csv文件 > 生成新csv文件
cat文件,可以发现文件内容已经不是乱码了。

采集csv文件到hdfs中

在datax/job目录创建json文件,(Datax数据源转换文档:https://github.com/alibaba/DataX/blob/master/introduction.md),按照需求配置json文件。

提交数据同步任务:

python datax/bin/datax.py json文件路径/job.json

我为了方便自己使用,写了一个脚本——datax提交同步任务的脚本:run_datax.sh 

#!/bin/bash

current_time=$(date "+%Y-%m-%d-%H_%M")
config_file="/json文件路径/xlsx3hdfs.json"

# 替换配置文件中的文件名
sed -i "s#\"fileName\": \"xlsx2hdfs_.*.txt\"#\"fileName\": \"xlsx2hdfs_${current_time}.txt\"#" $config_file

# 执行 DataX 命令
/datax/bin/datax.py $config_file

该脚本作用: 
1、快速执行同步
2、在生成的hdfs文件名中加上了当前的时间戳


执行脚本:./run_datax.sh

值得注意的是脚本内容指定了一个json文件,如果后面需要同步其他任务,记得修改相关配置;同步其他csv文件,在json里修改;有更好的方法,也可以采用自己的方法。

hdfs load到hive表中

开启hive,创建表

后端启动hive --service metastore:nohup hive --service metastore > /dev/null 2>&1 &

后端启动hiveserver2:nohup hiveserver2 > /dev/null 2>&1 &

create table hdfs2hive(
id Int,
name String,
age Int,
gender String,
num Int
)
row format delimited fields terminated by '\t';

LOAD DATA INPATH '/hdfs/xlsx2hdfs/xlsx2hdfs_2023-12-22-11_02.txt__ea45309b_0ef4_4f86_ac37_4e42375dbc9c' INTO TABLE hdfs2hive;

为了增加复用性

-- 定义变量并赋值
SET hivevar:file_path='/hdfs/xlsx2hdfs/xlsx2hdfs_2023-12-22-11_02.txt__ea45309b_0ef4_4f86_ac37_4e42375dbc9c';

-- 创建表
CREATE TABLE hdfs2hive (
  id INT,
  name STRING,
  age INT,
  gender STRING,
  num INT
) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';

-- 使用变量加载数据
LOAD DATA INPATH '${hivevar:file_path}' INTO TABLE hdfs2hive;文章来源地址https://www.toymoban.com/news/detail-824421.html

到了这里,关于xslx表格文件采集到hdfs流程&hdfs数据 load到hive表的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【MySQL × SpringBoot 突发奇想】全面实现流程 · 数据库导出Excel表格文件的接口

    在上一篇博客,【MySQL × SpringBoot 突发奇想】全面实现流程 · xlsx文件,Excel表格导入数据库的接口_s:103的博客-CSDN博客 我们学习了如何导入表格,现在我们反过来,看看如何导出表格~ 网络资料: View Object(视图对象)是一种在软件开发中常见的设计模式,它用于在用户界面

    2024年02月08日
    浏览(37)
  • 【Flume】Flume实践之采集文件内容上传至HDFS

           使用Flume从文件夹中采集数据并上传到HDFS中。要完成这个任务就需要使用在采集数据时使用Spooling Directory Source组件;传输数据时为了保证数据没有丢失风险,使用File Channel组件;输出数据时使用HDFS Sink。        Flume各个组件的参数很多,因此通常复制官网的各

    2024年02月11日
    浏览(37)
  • 【MySQL × SpringBoot 突发奇想】全面实现流程 · xlsx文件,Excel表格导入数据库的接口

    最近由于学校压力,心情不太好,没咋写博客; 但最近做数据库实验的时候,数据是xlsx文件展示的,要求将这些导入数据库,我懒得去下载MySQL WorkBench等等可视化的工具,就想着写个程序来实现这个功能~ 只要访问这个接口,输入xlsx表格文件的路径,就会向程序设置好的数

    2024年02月07日
    浏览(39)
  • hdfs元数据实时采集

    一、背景及问题 0.Hdfs元数据管理   1.背景介绍 当前在数据资产管理平台上,需要展示每张hive表及分区的热力情况(文件数、存储量、更新时间等信息)。目前热力数据包含两部分内容:热力元数据和审计日志,其中审计日志可以直接消费kafka得到,而热力元数据暂时没有可以直

    2024年02月09日
    浏览(28)
  • HDFS的文件写入和文件读取流程

    Pipeline管道:  Pipeline,即管道。这是 HDFS 在上传⽂件写数据过程时采⽤的⼀种数据传输⽅式。客户端将数据块写⼊第⼀个数据节点,第⼀个数据节点保存数据之后再将块复制到第⼆个数据节点,后者保存后将其复制到第三个数据节点。通俗描述 pipeline 的过程就是:Client——

    2024年02月06日
    浏览(30)
  • Apache Doris 数据导入:Insert Into语句;Binlog Load;Broker Load;HDFS Load;Spark Load;例行导入(Routine Load)

    Doris 提供多种数据导入方案,可以针对不同的数据源进行选择不同的数据导入方式。Doris支持各种各样的数据导入方式:Insert Into、json格式数据导入、Binlog Load、Broker Load、Routine Load、Spark Load、Stream Load、S3 Load,下面分别进行介绍。 注意: Doris 中的所有导入操作都有原子性保

    2024年02月21日
    浏览(44)
  • StarRocks案例7:使用shell批量broker load导入hdfs数据

    近期需要进行补录数据,需要将hive的历史数据迁移到StarRocks,因为需要补录的数据较多,hive和StarRocks均使用的是分区表,两边的日期格式也不同,hive这边是 yyyymmdd格式,StarRocks这边是yyyy-mm-dd格式。 之前一直是使用DataX来从hive导入到StarRocks,因为DataX是单节点的,而hive和S

    2024年02月11日
    浏览(33)
  • Apache Doris (三十):Doris 数据导入(八)Spark Load 3- 导入HDFS数据

    目录 1. 准备HDFS数据 2. 创建Doris表 3. 创建Spark Load导入任务 4. 查看导入任务状态 进入正文之前,欢迎订阅专题、对博文点赞、评论、收藏,关注IT贫道࿰

    2024年02月16日
    浏览(35)
  • Flume采集数据到HDFS配置参数详细解析

    Flume采集数据到HDFS配置参数详细解析 配置解析: channel:管道;一个sink只能有一个管道,但一根管道可以有多个sink type : hdfs path:写入hdfs的路径,需要包含文件系统标识,比如:hdfs://192.168.40.101:9000/flume/%Y-%m-%d/ (可以使用flume提供的日期及%{host}表达式) filePrefix: 写入hdfs的文件名前缀,可以

    2024年02月02日
    浏览(41)
  • [大数据 Sqoop,hive,HDFS数据操作]

    目录 🥗前言: 🥗实现Sqoop集成Hive,HDFS实现数据导出 🥗依赖: 🥗配置文件: 🥗代码实现: 🥗控制器调用: 🥗Linux指令导入导出: 🥗使用Sqoop将数据导入到Hive表中。例如: 🥗使用Sqoop将数据从Hive表导出到MySQL中。例如: 🥗使用Sqoop将数据导入到HDFS中。例如: 🥗使用Sqoop将数据

    2024年02月09日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包