datax同步mysql数据到hive

2023-10-26

datax hdfswriter文档

https://github.com/alibaba/DataX/blob/master/hdfswriter/doc/hdfswriter.md

需要注意的是,hdfswriter写入时的字段分隔符,需要用户保证与创建的Hive表的字段分隔符一致,否则无法在Hive表中查到数据。

另外,虽然hive3支持decimal格式,但是datax还不支持。。。因此datax作业中应该用string代替decimal。

建表语句 

create external table ods.studentpay_chain
(id string COMMENT 'id',
name string COMMENT '名称',
age int COMMENT '年龄',
money decimal(28,10) COMMENT '金额',
updateTime timestamp COMMENT '更新时间',
startDate timestamp COMMENT '生效日期',
endDate timestamp COMMENT '失效日期')
COMMENT '学生缴费表'
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n'
STORED AS ORC
LOCATION '/user/hive/warehouse/ods.db/ods.studentpay_chain';

datax作业配置

{
    "job": {
        "content": [
            {
                "reader": {
                    "name": "mysqlreader",
                    "parameter": {
                        "column": ["*"],
                        "connection": [
                            {
                                "jdbcUrl": ["jdbc:mysql://xxx:3306/xxx"],
                                "table": ["$table"]
                            }
                        ],
                        "password": "xxx",
                        "username": "xxx",
                        "where": "updateTime > '$from' and updateTime < '$to'"
                    }
                },
                "writer": {
                    "name": "hdfswriter",
                    "parameter": {
                        "column": [
                {"name":"id","type":"string"},
                {"name":"name","type":"string"},
                {"name":"age","type":"int"},
                {"name":"money","type":"string"},
                {"name":"updateTime","type":"timestamp"},
                {"name":"startTime","type":"timestamp"},
                {"name":"endTime","type":"timestamp"}
                              ],
                        "compress": "SNAPPY",
                        "defaultFS": "hdfs://xxx:9000",
                        "fieldDelimiter": "\t",
                        "fileName": "$table",
                        "fileType": "orc",
                        "path": "/user/hive/warehouse/ods.db/ods.studentpay_chain",
                        "writeMode": "append"
                    }
                }
            }
        ],
        "setting": {
            "speed": {
                "channel": "2"
            }
        }
    }
}

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

datax同步mysql数据到hive 的相关文章

  • 如何忽略在另一个任务的 run() 内触发的 Luigi 任务的失败

    考虑以下任务 import luigi class YieldFailTaskInBatches luigi Task def run self for i in range 5 yield FailTask i j for j in ra
  • hive创建表的多个转义字符

    我正在尝试将带有管道分隔符的 csv 加载到配置单元外部表 数据值包含单引号 双引号 括号等 使用 Open CSV 版本 2 3 测试文件 csv id name phone 1 Rahul 123 2 Kumar s 456 3 Nee
  • 如何将Hive数据表迁移到MySql?

    我想知道如何将日期从 Hive 转移到 MySQL 我看过有关如何将 Hive 数据移动到 Amazon DynamoDB 的示例 但没有看到有关如何将 Hive 数据移动到 MySQL 等 RDBMS 的示例 这是我在 DynamoDB
  • 如何通过Python访问Hive?

    https cwiki apache org confluence display Hive HiveClient HiveClient Python https cwiki apache org confluence display Hi
  • 在 HIVE 中,使用 COALESCE 将 Null 值替换为相同的列值

    我想用同一列中的值替换特定列的空值我想得到结果 我在下面尝试过 select d day COALESCE val LAST VALUE val TRUE OVER ORDER BY d day ROWS BETWEEN UNBOUNDED
  • 计算 pyspark df 列中子字符串列表的出现次数

    我想计算子字符串列表的出现次数 并根据 pyspark df 中包含长字符串的列创建一个列 Input ID History 1 USA UK IND DEN MAL SWE AUS 2 USA UK PAK NOR 3 NOR NZE 4
  • hive sql查找最新记录

    该表是 create table test id string name string age string modified string 像这样的数据 id name age modifed 1 a 10 2011 11 11 11 1
  • Hive:如何分解嵌入 CSV 文件中的 JSON 列?

    从 CSV 文件 带有标题和管道分隔符 中 我得到了以下两个内容 其中包含一个 JSON 列 内部有一个集合 如下所示 第一种情况 使用没有名称的 JSON 集合 ProductId IngestTime ProductOrders 918
  • 删除或更改 ETL 中的记录

    我有一个表 我在上面构建了 ETL 服务 货物记录 到达 离开 进入表格 我已经这样做了 我的桌子将被删除 当项目标识符第二次到达数据库时 两条记录都被删除 label cost time x2 29 14 5 2020 01 00 00
  • 如何在 AWS Glue 中指定联接类型?

    我正在使用 AWS Glue 连接两个表 默认情况下 它执行INNER JOIN 我想做一个LEFT OUTER JOIN 我参考了 AWS Glue 文档 但无法将联接类型传递给Join apply 方法 有没有办法在 AWS Glue
  • 将 Apache Zeppelin 连接到 Hive

    我尝试将我的 apache zeppelin 与我的 hive 元存储连接起来 我使用 zeppelin 0 7 3 所以没有 hive 解释器 只有 jdbc 我已将 hive site xml 复制到 zeppelin conf 文件夹
  • SSIS Excel 文件问题 - 创建文件失败

    我有 SSIS 包 可以抓取 excel 文件并将其加载到 sql 表中 运行它时出现以下错误 我尝试将 64 位运行设置为 false 那不起作用 我还安装了 64 位访问驱动程序引擎 这也没有帮助 数据流任务 Excel 源 2 出错
  • ssis 输出 json 文件添加额外的 crlf

    这个问题已经用c 代码解决了 请参考这篇文章the post https stackoverflow com questions 54059599 ssis generate json file remove return 54084996
  • 使用 MySQL 作为元存储从 HIVE 查询元数据

    我正在寻找一种使用 HiveQL 命令查询 HIVE 数据元数据的方法 我配置了一个 MySQL 元存储 但需要通过 HIVE 命令查询元数据 因为然后我想通过 ODBC 连接到 HIVE 系统来访问数据 要从 Hive 查看它们 必须使用
  • Hive 聚集在多个列上

    据我所知 当配置单元表聚集在一列上时 它会执行该分桶列的哈希函数 然后将该行数据放入其中一个桶中 每个桶都有一个文件 即如果有 32 个桶 那么 hdfs 中就有 32 个文件 将 clustered by 放在多个列上意味着什么 例如 假
  • scala/spark 代码不允许在 hive 中添加列

    如果源数据有新列 我尝试在 Hive 表中添加一列 所有新列的检测都运行良好 但是 当我尝试将列添加到目标表时 我收到此错误 for f lt df schema fields if f name chk spark sqlContext
  • C#的数组列表可以用来填充SSIS对象变量吗?

    我已在 C 脚本中填充了一个列表 并将其值分配给 SSIS 对象变量 然后 我使用该对象变量通过循环遍历 For every do 枚举器来执行一些 SQL 查询 我尝试通过 Foreach ado 枚举器执行此操作 但出现错误 X 变量不
  • hive regexp_extract 怪异

    我在 regexp extract 方面遇到一些问题 我正在查询制表符分隔的文件 我正在检查的列具有如下所示的字符串 abc def ghi 现在 如果我这样做 select distinct regexp extract name 0 f
  • 如何配置Hive仓库路径?

    我修改了这部分
  • 如何将.txt文件转换为Hadoop的序列文件格式

    有效利用 Map Reduce 作业Hadoop http hadoop apache org 我需要将数据存储在hadoop的序列文件格式 http hadoop apache org common docs current api or

随机推荐