【发布时间】:2014-11-25 10:50:13
【问题描述】:
我想将 stackexchange 原始数据处理成 BigQuery,但首先数据使用 7z 压缩格式,所以我解压缩数据以将其移植为 gz 格式,但内部文件是 xml。所以我需要将文件从xml转换为json。有任何想法吗?我使用 p7zip 解压缩并使用 xml2json 尝试移植 xml 文件但不起作用。
<?xml version="1.0" encoding="utf-8"?> <comments> <row Id="1" PostId="1" Score="3" Text="We need to all post more questions. Last time, we kinda "rushed" to get a w hole bunch of people to sign up at the last minute (and pulled some funny stuff" CreationDate="2014-02-12T01:01:14.257" UserId="52" />..
我用过xml2json xml2json -t json2xml -o xxx.xml yyy.json
使用 xml-json 的其他测试 **David 推荐
通过以下命令使用来自 stackoverflow.com-Users.7z 的此文件 Users.xml(大小 895M):xml-json Users.xml row > Users.json
xml-json Users.xml row > Users.json /usr/local/lib/node_modules/xml-json/node_modules/xml-nodes/index.js:19 this.soFar += String(chunk)
RangeError: Invalid string length
at XmlNodes._transform (/usr/local/lib/node_modules/xml-json/node_modules/xml-nodes/index.js:19:15)
at XmlNodes.Transform._read (_stream_transform.js:183:22)
at XmlNodes.Transform._write (_stream_transform.js:167:12)
at doWrite (_stream_writable.js:265:12)
at writeOrBuffer (_stream_writable.js:252:5)
at XmlNodes.Writable.write (_stream_writable.js:197:11)
at Duplexify._write (/usr/local/lib/node_modules/xml-json/node_modules/pumpify/node_modules/duplexify/index.js:197:22)
at doWrite (/usr/local/lib/node_modules/xml-json/node_modules/pumpify/node_modules/duplexify/node_modules/readable-stream/lib/_stream_writable.js:237:10)
at writeOrBuffer (/usr/local/lib/node_modules/xml-json/node_modules/pumpify/node_modules/duplexify/node_modules/readable-stream/lib/_stream_writable.js:227:5)
at Writable.write (/usr/local/lib/node_modules/xml-json/node_modules/pumpify/node_modules/duplexify/node_modules/readable-stream/lib/_stream_writable.js:194:11)
at ReadStream.ondata (_stream_readable.js:539:20)
at ReadStream.emit (events.js:107:17)
at readableAddChunk (_stream_readable.js:162:16)
at ReadStream.Readable.push (_stream_readable.js:125:10)
at onread (fs.js:1581:12)
at Object.wrapper [as oncomplete] (fs.js:482:17)
【问题讨论】:
-
“它不起作用”不是错误描述。而且您既没有提供输入样本,也没有提供所需输出的规范,也没有展示您尝试过的具体内容。您如何假设除了千里眼之外的任何人都能够帮助您?
-
没错,我无法处理数据。我使用了stackoverflow.com-Comments.7z(来自archive.org/details/stackexchange)1.8GB。但是当尝试将 xml 文件转换为 json 到 7z 时。这个过程永远不会结束。我使用了具有 13GB RAM 和 2 个处理器的 VM。也许存在其他方式来处理大文件或转换文件以将数据放入 BigQuery。
-
看。您机器的规格对于这项任务并不重要。获取可以打开大型文本文件的文本编辑器。打开 XML 并剪下一个有代表性的样本。从该示例中,仔细创建您想要查看的 JSON。在这里发布两个代码示例,我(或其他人,就此而言)将能够看到他们能做什么。你不会得到这样的答案:“只需使用工具 XYZ 将 XML 转换为 JSON。”,部分原因是你没有发布任何硬性要求,部分原因是这个神奇的工具甚至可能没有存在。
-
好的,这是一个文件示例(要转换的 xml),很简单,但是当我可以转换这 5GB 时工具崩溃,实际上我没有错误消息只是崩溃,如果我使用 100mb 文件大小工作,但是.. 我用 xml2json xml2json -t json2xml -o xxx.xml yyy.json ***
...
-
最好是直接更新你的问题(直接点击“编辑”),cmets 不是贴代码的地方。
标签: xml json google-bigquery stackexchange opendata