hive和datax數據採集數量對不上

这篇具有很好参考价值的文章主要介绍了hive和datax數據採集數量對不上。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

hive和datax數據採集數量對不上

對數據的時候發現有些對不上,在hive中 staff_id = 'DF67B3FC-02DD-4142-807A-DF4A75A4A22E’的數據只有1033

hive和datax數據採集數量對不上,hive,HQL,SQL,hive,datax,mysql
而在mysql中發現staff_id = 'DF67B3FC-02DD-4142-807A-DF4A75A4A22E’的數據有4783條記錄(昨天的記錄是4781)
hive和datax數據採集數量對不上,hive,HQL,SQL,hive,datax,mysql
這個數據即使是由於離線採集也不會相差這麼大,肯定是哪裡出現了問題

原因:
在datax中修改cn_attendance_day_print的job文件,只要 staff_id = 'DF67B3FC-02DD-4142-807A-DF4A75A4A22E’的記錄
發現採集過來的確實是4781條數據
hive和datax數據採集數量對不上,hive,HQL,SQL,hive,datax,mysql
那麼datax到hdfs的鏈路是正確的
所以需要去查看一下剛剛採集過來的數據,由於之前的記錄都刪除了,所以懶得再去復現了,說一下最終的處理結果
後面發現原因是由於大小寫的原因,hive是區分數據大小寫的,但是在mysql中這邊設置了全局大小寫不區分
解決方案
在datax中將string類型的數據全部轉為大寫或者小寫

示例如下:文章来源地址https://www.toymoban.com/news/detail-541657.html

{
	"job": {
		"content": [{
			"transformer": [{
				"parameter": {
					"code": "for(int i=0;i<record.getColumnNumber();i++){if(record.getColumn(i).getByteSize()!=0){Column column = record.getColumn(i); def str = column.asString(); def newStr=null; newStr=str.replaceAll(\"[\\r\\n]\",\"\"); record.setColumn(i, new StringColumn(newStr)); };};return record;",
					"extraPackage": []
				},
				"name": "dx_groovy"
			}],
			"writer": {
				"parameter": {
					"writeMode": "append",
					"fieldDelimiter": "\u0001",
					"column": [{
						"type": "string",
						"name": "id"
					}, {
						"type": "string",
						"name": "username"
					}, {
						"type": "string",
						"name": "user_id"
					}, {
						"type": "string",
						"name": "superior_id"
					}, {
						"type": "string",
						"name": "finger_print_number"
					}],
					"path": "${targetdir}",
					"fileType": "text",
					"defaultFS": "hdfs://mycluster:8020",
					"compress": "gzip",
					"fileName": "cn_staff"
				},
				"name": "hdfswriter"
			},
			"reader": {
				"parameter": {
					"username": "dw_readonly",
					"column": ["id", "username", "user_id", "superior_id", "finger_print_number"],
					"connection": [{
						"table": ["cn_staff"],
						"jdbcUrl": ["jdbc:mysql://*******"]
					}],
					"password": "******",
					"splitPk": ""
				},
				"name": "mysqlreader"
			}
		}],
		"setting": {
			"speed": {
				"channel": 3
			},
			"errorLimit": {
				"record": 0,
				"percentage": 0.02
			}
		}
	}
}

到了这里,关于hive和datax數據採集數量對不上的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 成功解决DataX从Hive导出Oracle的数据乱码问题!

    大数据与 RDBMS 之间的数据导入和导出都是企业日常数据处理中常见的一环,该环节一般称为 e-t-l 即 extract-transform-load 。市面上可用的 etl 工具和框架很多,如来自于传统数仓和 BI 圈的 kettle/informatica/datastage , 来自于 hadoop 生态圈的 sqoop/datax ,抑或使用计算引擎 spark/presto/fli

    2024年02月13日
    浏览(39)
  • 使用DataX实现mysql与hive数据互相导入导出 一、概论

             DataX 是 阿里巴巴开源 的一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle 等)、HDFS、Hive、ODPS、HBase、FTP 等 各种异构数据源之间稳定高效的数据同步 功能。          为了解决异构数据源同步问题,DataX 将复杂的 网状 的同步链路变成了

    2024年02月14日
    浏览(38)
  • datax 同步mongodb数据库到hive(hdfs)和elasticserch(es)

    1.mongodb版本:3.6.3。(有点老了,后来发现flinkcdc都只能监控一张表,多张表无法监控) 2.datax版本:自己编译的DataX-datax_v202210 3.hdfs版本:3.1.3 4.hive版本:3.1.2 1.增量数据:需要每隔1小时将mongodb中17个集合的数据同步至hive,因为有数据生成时间,才用datax查询方式,将上一个

    2023年04月23日
    浏览(45)
  • 【Spark数仓项目】需求八:MySQL的DataX全量导入和增量导入Hive

    【Spark数仓项目】需求八:MySQL的DataX全量导入和增量导入Hive 本需求将模拟从MySQL中向Hive数仓中导入数据,数据以时间分区。测试两种导入场景,一种是将数据全量导入,即包含所有时间分区;另一种是每天运行调度,仅导入当天时间分区中的用户数据。 mysql表建表语句:

    2024年02月03日
    浏览(38)
  • 【DolphinScheduler】datax读取hive分区表时,空分区、分区无数据任务报错问题解决

    最近在使用海豚调度DolphinScheduler的Datax组件时,遇到这么一个问题:之前给客户使用海豚做的离线数仓的分层搭建,一直都运行好好的,过了个元旦,这几天突然在数仓做任务时报错,具体报错信息如下: com.alibaba.datax.common.exception.DataXException: Code:[HdfsReader-08], Description:[您尝

    2024年01月16日
    浏览(67)
  • 使用DataX工具连接hive数据库:java.sql.SQLException: Could not establish connection to jdbc:hive2://master:1000

    Code:[DBUtilErrorCode-10], Description:[连接数据库失败. 请检查您的 账号、密码、数据库名称、IP、Port或者向 DBA 寻求帮助(注意网络环境).]. - 具体错误信息为:java.sql.SQLException: Could not establish connection to jdbc:hive2://master:10000/datax: Required field \\\'serverProtocolVersion\\\' is unset! Struct:TOpenSessionRe

    2024年04月09日
    浏览(70)
  • Doris-05-集成Spark、Flink、Datax,以及数据湖分析(JDBC、ODBC、ES、Hive、多源数据目录Catalog)

    准备表和数据: Spark 读写 Doris Spark Doris Connector 可以支持通过 Spark 读取 Doris 中存储的数据,也支持通过Spark写入数据到Doris。 代码库地址:https://github.com/apache/incubator-doris-spark-connector 支持从 Doris 中读取数据 支持 Spark DataFrame 批量/流式 写入 Doris 可以将 Doris 表映射为 DataFra

    2024年02月06日
    浏览(58)
  • 深入探索渗透數據庫:教學網絡安全知識

    深入探索渗透數據庫:教學網絡安全知識 在當今數位時代,數據庫成為了企業和組織不可或缺的一部分。然而,許多數據庫存在著安全漏洞,這為黑客提供了入侵的機會。為了保護數據庫的安全,我們需要深入了解渗透數據庫的技術。本篇博客將介紹渗透數據庫的基礎知識和

    2024年02月04日
    浏览(32)
  • 渗透數據庫技術分享:從黑客的視角看網絡安全

    引言 在當今數位時代,網絡安全成為了企業和組織最關注的議題之一。為了保護數據資產免於黑客入侵,我們需要了解黑客的思維和攻擊手法。本篇博客將從黑客的視角出發, 分享渗透數據庫 的技術和方法, 在TG搜ST_LX 以提升我們對網絡安全的認識和防護能力。 渗透數據庫

    2024年02月03日
    浏览(37)
  • [Excel]如何找到非固定空白格數列的條件數據? 以月份報價表單為例

    在群組中看到上述問題,研判應是一份隨月份變動的產品報價表單,空白欄可能表示該月份價格與上個月份一致。這個問題是需要取得最近一次單價和倒數第二次單價,常用且實務的excel案例值得紀錄。 最近一次單價: INDEX($B2:$G2,1,LARGE(IF(ISBLANK($B2:$G2)=FALSE,COLUMN($B2:$G2)-1,0),1)) 函

    2024年02月03日
    浏览(27)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包