gpt4 book ai didi

oracle - 使用ODI将多个定界文件合并到Hive

转载 作者:行者123 更新时间:2023-12-02 20:17:24 25 4
gpt4 key购买 nike

基本上我有3个输入文件,我需要使用ODI将3个输入文件合并到Hive。
文件1:
帐号,名称,地址
文件2:
AcctNo,Block_Code,Block_Date
文件3:
帐户编号,余额1,余额2
hive
帐户编号,名称,地址,块代码,块日期,余额1,余额2
我是Hadoop的新手,没有经过Oracle数据集成的适当培训,就被投入这个项目。我读到,hive本身不支持更新,但是可以启用ACID事务。
由于我的组织使用ODI作为主要的数据集成工具,因此我需要在ODI中完成此工作,任何人都可以启发我在一次ETL中完成此工作吗?
我当时想先从文件到Hive进行ETL,而不进行合并,然后仅在HIVE中进行合并,这似乎很耗时。我想知道还有更好的方法吗?

最佳答案

在我的选择中,您可以使用ODI或FTPS将文件加载到HDFS中。将数据保存在HDFS中后,您就可以灵活地创建create external tables,即只创建一个逻辑表,然后就可以将它们联接/合并到一个单独的表中。

  • 使用hadoop CLI将文件加载到HDFS中:
  • hadoop fs -copyFromLocal file1.csv /user/cloudera/data/file1 /user/cloudera/data是您需要根据项目提供的HDFS路径。
  • 在配置单元中创建外部表:
    create external table file1_table(
    AcctNo string,
    Name string,
    Address string
    ) row format delimited
    fields terminated by ',' -- assuming your file is comma separated
    stored as textfile
    location '/user/cloudera/data/file1' -- the hdfs location
    tblproperties("skip.header.line.count"="1"); -- assuming file is having a header section.
  • 准备好外部表后,可以创建一个表,将所有表(file1_table,file2_table,file3_table)连接到一个 View 中。
  • 关于oracle - 使用ODI将多个定界文件合并到Hive,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62586576/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com