有什么方法可以为Hive MR作业配置分隔符? 内部配置单元内部使用的默认分隔符是“hive delimiter”(/ 001)。我的用例是配置分隔符,以便我可以根据需要使用任何分隔符。在hadoop中有一个属性“mapred.textoutputformatter.separator”,它将设置键值分隔符为此属性指定的值。是否有任何这样的方式来配置Hive中的分隔符?..我搜索了很多,但没有'没有任何有用的链接。请帮帮我。配置Hive MR作业的分隔符
3
A
回答
0
你可以试试:
SELECT (rest of your query)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY 'YourChar' (example: FIELDS TERMINATED BY '\t')
1
由于蜂巢-0.11.0的,你可以写
INSERT OVERWRITE LOCAL DIRECTORY '...'
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
SELECT ...
的完整语法见HIVE-3682。
0
您也可以使用此: -
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
WITH SERDEPROPERTIES ('field.delim'='-','serialization.format'='-')
这会分开使用列 - 定界符但具体到LazSimpleSerde。
0
我想你正在使用INSERT OVERWRITE DIRECTORY选项来写入hdfs文件。 如果在没有分隔符的hdfs文件的顶部创建一个配置单元表,那么将以'\ 001'作为分隔符,因此您可以从配置单元表中读取文件而不会出现任何问题
0
如果您将源表dnt不是在create schema语句中指定分隔符,那么您将无法更改该分隔符。您操作将始终包含默认值。是的,分隔符将由源表的创建模式控制。所以这也不是可配置的。 我有一个类似的问题,并最终修改001完成配置单元MR作业后的第二步。
相关问题
- 1. 如何设置在CDH5 Hue中运行MR作业的配置?
- 2. MR作业的猪文档
- 3. HDFS文件中的分隔符与Hive表格的分隔符值不匹配
- 4. 通配符的Hive分区
- 5. HIVE分隔符\ n^M的问题
- 6. Hive列分隔符不同的行为
- 7. 如何为从hive jdbc查询启动的mr作业指定其他jar?
- 8. 配有实地分隔符的Hive ORC或AVRO格式
- 9. mapreduce - 找不到带作业ID的MR
- 10. Hive查询输出分隔符
- 11. Hive MapReduce作业拆分文件
- 12. 从MapReduce作业向Hive添加分区
- 13. 在HDFS文件的一部分上运行MR作业
- 14. hive/hbase集成上的MR scratch问题
- 15. 配置单元-e带分隔符
- 16. Hive字段分隔符作为固定偏移量
- 17. Hive On Spark:java.lang.NoClassDefFoundError:org/apache/hive/spark/client /作业
- 18. 使用§作为分隔符的配置单元
- 19. 配置Hive的HCatalog
- 20. Hadoop作业配置
- 21. Autosys作业配置
- 22. Hive表属性将连续分隔符视为一个分隔符
- 23. Hadoop的 - 在作业配置
- 24. Hive metastore配置derby
- 25. oozie中Hive操作的作业队列
- 26. 多字符分隔符
- 27. 提高分隔配置块
- 28. 匹配逃脱分隔符
- 29. Spark HiveContext - 从外部分区读取Hive表分隔符问题
- 30. 将分隔列分隔为HIVE中的唯一行
感谢您的快速回复。但问题在于,我们正在将配置单元MR o/p写入dfs位置。如果配置单元使用分隔符作为'\ 001',那么可能有一些方法可以明确配置它,比如通过设置一些属性。 –