使用PIG可以读取哪种文件格式?
如何以不同的格式存储它们?假设我们有CSV文件,我想将其存储为MXL文件,如何做到这一点?每当我们使用STORE命令时它会创建目录并将文件存储为part-m-00000如何更改文件名并覆盖目录?
使用PIG可以读取哪种文件格式?我怎样才能以不同的格式存储它们?
有一些内置的加载和存储方法,但它们是有限的:
piggybank是一个社区贡献的用户定义函数库,它有许多加载和存储方法,包括XML加载器,但不包括XML存储器.
说我们有CSV文件你想把它存储为MXL文件如何做到这一点?
我假设你在这里指的是XML ...在Hadoop中存储XML有点粗糙,因为它在基于reducer的基础上拆分文件,所以你怎么知道在哪里放置root标签?这可能应该是某种后处理来生成格式良好的XML.
B = FOREACH A GENERATE customudfs.DataToXML(col1, col2, col3);
Run Code Online (Sandbox Code Playgroud)
例如,假设col1,col2,col3有"foo",37,"lemons",分别.您的UDF可以输出字符串"<item><name>Foo</name><num>37</num><fruit>lemons</fruit></item>".
无论何时我们使用STORE命令它都会创建目录并将文件存储为part-m-00000如何更改文件名并覆盖目录?
您不能将输出文件的名称更改为除以外的名称part-m-00000.这就是Hadoop的工作原理.如果你想改变它的名字,你应该在事后做一些事情hadoop fs -mv output/part-m-00000 newoutput/myoutputfile.这可以通过运行pig脚本然后执行此命令的bash脚本来完成.
| 归档时间: |
|
| 查看次数: |
6201 次 |
| 最近记录: |