热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

hive-drop-import-delims在Sqoop中使用HCatalog时不删除换行符

如何解决《hive-drop-import-delims在Sqoop中使用HCatalog时不删除换行符》经验,为你挑选了2个好方法。

当与Oracle运行Apache Sqoop时,即使在命令中使用--hive-drop-import-delims选项后,与HCatalog导入一起使用的Sqoop也无法从列数据中删除新行(\n).

Sqoop查询:

    sqoop import --connect jdbc:oracle:thin:@ORA_IP:ORA_PORT:ORA_SID \
--username user123 --password passwd123 -table SCHEMA.TBL_2 \ 
--hcatalog-table tbl2 --hcatalog-database testdb --num-mappers 1 \ 
--split-by SOME_ID --columns col1,col2,col3,col4 --hive-drop-import-delims \
--outdir /tmp/temp_table_loc --class-name "SqoopWithHCAT" \
--null-string ""

Oracle Column col4中的数据如下:(数据具有控制字符,例如^ M)

  • Details:^M
      ^M
  • Control字符会导致此问题吗?

    我错过了什么吗?针对此问题是否有解决方法或解决方案?



    1> Suraj Nayak..:

    使用--map-column-java选项显式声明列是类型String.然后--hive-drop-import-delims按预期工作(\n从数据中删除).

    改变了Sqoop命令:

    sqoop import --connect jdbc:oracle:thin:@ORA_IP:ORA_PORT:ORA_SID \
    --username user123 --password passwd123 -table SCHEMA.TBL_2 \ 
    --hcatalog-table tbl2 --hcatalog-database testdb --num-mappers 1 \ 
    --split-by SOME_ID --columns col1,col2,col3,col4 --hive-drop-import-delims \
    --outdir /tmp/temp_table_loc --class-name "SqoopWithHCAT" \
    --null-string "" --map-column-java col4=String
    



    2> bunty..:
    sqoop import \
    --connect jdbc:oracle:thin:@ORA_IP:ORA_PORT:ORA_SID \
    --username 123 \
    --password 123 \
    --table SCHEMA.TBL_2 \
    --hcatalog-table tbl2 --hcatalog-database testdb --num-mappers 1 \
    --split-by SOME_ID --columns col1,col2,col3,col4 \
    --hive-delims-replacement "anything" \
    --outdir /tmp/temp_table_loc --class-name "SqoopWithHCAT" \
    --null-string ""
    

    你可以尝试这个--hive-delims-replacement"任何"这将用你提供的字符串替换所有\n,\ t和\ 01字符(在这种情况下用字符串"any"替换).


    -hive-delims-replacement"null"和--hive-drop-import-delims都不起作用 - 直到map-column-java col4 =添加了字符串.这意味着您希望delims切换到哪个列工作,它必须是java String类型.
    如果我需要将数据转储到HDFS中,该怎么做?
    推荐阅读
    • 本文探讨了利用Java实现WebSocket实时消息推送技术的方法。与传统的轮询、长连接或短连接等方案相比,WebSocket提供了一种更为高效和低延迟的双向通信机制。通过建立持久连接,服务器能够主动向客户端推送数据,从而实现真正的实时消息传递。此外,本文还介绍了WebSocket在实际应用中的优势和应用场景,并提供了详细的实现步骤和技术细节。 ... [详细]
    • 在Java Web服务开发中,Apache CXF 和 Axis2 是两个广泛使用的框架。CXF 由于其与 Spring 框架的无缝集成能力,以及更简便的部署方式,成为了许多开发者的首选。本文将详细介绍如何使用 CXF 框架进行 Web 服务的开发,包括环境搭建、服务发布和客户端调用等关键步骤,为开发者提供一个全面的实践指南。 ... [详细]
    • DAO(Data Access Object)模式是一种用于抽象和封装所有对数据库或其他持久化机制访问的方法,它通过提供一个统一的接口来隐藏底层数据访问的复杂性。 ... [详细]
    • Spring Boot 中配置全局文件上传路径并实现文件上传功能
      本文介绍如何在 Spring Boot 项目中配置全局文件上传路径,并通过读取配置项实现文件上传功能。通过这种方式,可以更好地管理和维护文件路径。 ... [详细]
    • 本文介绍如何使用 Python 的 DOM 和 SAX 方法解析 XML 文件,并通过示例展示了如何动态创建数据库表和处理大量数据的实时插入。 ... [详细]
    • 通过使用Sqoop导入工具,可以精确控制并高效地将表数据的特定子集导入到HDFS中。具体而言,可以通过在导入命令中添加WHERE子句来指定所需的数据范围,从而在数据库服务器上执行相应的SQL查询,并将查询结果高效地存储到HDFS中。这种方法不仅提高了数据导入的灵活性,还确保了数据的准确性和完整性。 ... [详细]
    • 大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式
      大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式 ... [详细]
    • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
      本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
    • PTArchiver工作原理详解与应用分析
      PTArchiver工作原理及其应用分析本文详细解析了PTArchiver的工作机制,探讨了其在数据归档和管理中的应用。PTArchiver通过高效的压缩算法和灵活的存储策略,实现了对大规模数据的高效管理和长期保存。文章还介绍了其在企业级数据备份、历史数据迁移等场景中的实际应用案例,为用户提供了实用的操作建议和技术支持。 ... [详细]
    • Unity与MySQL连接过程中出现的新挑战及解决方案探析 ... [详细]
    • 提升Android开发效率:Clean Code的最佳实践与应用
      在Android开发中,提高代码质量和开发效率是至关重要的。本文介绍了如何通过Clean Code的最佳实践来优化Android应用的开发流程。以SQLite数据库操作为例,详细探讨了如何编写高效、可维护的SQL查询语句,并将其结果封装为Java对象。通过遵循这些最佳实践,开发者可以显著提升代码的可读性和可维护性,从而加快开发速度并减少错误。 ... [详细]
    • 如何使用mysql_nd:Python连接MySQL数据库的优雅指南
      无论是进行机器学习、Web开发还是爬虫项目,数据库操作都是必不可少的一环。本文将详细介绍如何使用Python通过 `mysql_nd` 库与 MySQL 数据库进行高效连接和数据交互。内容涵盖以下几个方面: ... [详细]
    • Spring框架中的面向切面编程(AOP)技术详解
      面向切面编程(AOP)是Spring框架中的关键技术之一,它通过将横切关注点从业务逻辑中分离出来,实现了代码的模块化和重用。AOP的核心思想是将程序运行过程中需要多次处理的功能(如日志记录、事务管理等)封装成独立的模块,即切面,并在特定的连接点(如方法调用)动态地应用这些切面。这种方式不仅提高了代码的可维护性和可读性,还简化了业务逻辑的实现。Spring AOP利用代理机制,在不修改原有代码的基础上,实现了对目标对象的增强。 ... [详细]
    • 构建高可用性Spark分布式集群:大数据环境下的最佳实践
      在构建高可用性的Spark分布式集群过程中,确保所有节点之间的无密码登录是至关重要的一步。通过在每个节点上生成SSH密钥对(使用 `ssh-keygen -t rsa` 命令并保持默认设置),可以实现这一目标。此外,还需将生成的公钥分发到所有节点的 `~/.ssh/authorized_keys` 文件中,以确保节点间的无缝通信。为了进一步提升集群的稳定性和性能,建议采用负载均衡和故障恢复机制,并定期进行系统监控和维护。 ... [详细]
    • 本文探讨了在Android应用中实现动态滚动文本显示控件的优化方法。通过详细分析焦点管理机制,特别是通过设置返回值为`true`来确保焦点不会被其他控件抢占,从而提升滚动文本的流畅性和用户体验。具体实现中,对`MarqueeText.java`进行了代码层面的优化,增强了控件的稳定性和兼容性。 ... [详细]
    author-avatar
    手机用户2702932960
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有