数据空间
您当前的位置: 首页 /新闻资讯

科学家无法涉足的“黑暗世界”,被雪藏的军用数据等待新生

发布时间:[2019-07-02] 来源: 点击量:

中国企业数据治理联盟www.chinaedg.com/

进入》主数据管理    企业数据治理   信息资源规划   数据安全管理

没有人比军队更密切地监视着地球。

在地球上空三万六千公里处,美国空军卫星时刻关注着弹道导弹的热流;一系列侦察卫星在低海拔地区巡逻,它们的雷达可以穿过云层,寻找可疑的军事装备;预警机和无人机飞进战争地区收集情报;地震监测装置监视着秘密进行的地下核试验;即便是最深的海洋里也有军用潜艇在游弋,时刻保持警惕。

2.jpg

而这些搭载着人类最先进技术的军事装备,它们采集的海量数据究竟去哪了?

被雪藏的军用数据等待新生

多年来,大量军事传感器收集的数据被层层加密。

如果科学家们能看到这些数据,他们会发现这些数据大有用处。用于跟踪导弹的卫星可以用来追踪流星的火焰痕迹;伊拉克的航拍照片可以用来追寻古代运河的遗迹;甚至军方最平庸的气象卫星收集的海洋降水数据可以用来了解地球的能量循环规律。

3.jpg

冷战结束后,其中一些数据逐渐开始向科学界公开,主要是在拥有庞大军事资源和强大科研实力的美国。

MEDEA是由一群安全调查科学家组成的组织,最近,其与美国情报部门取得了联系,他们期望使用军事环境数据研究气候变化的问题。美国宇航局和美国空军将在10月份达成一项史无前例的协议——向天文学家开放大气层的监视数据。

虽然军方必须对数据的一些细节进行模糊处理以保护国家机密,但研究人员表示,即便如此,这些数据仍具有巨大的科学价值。加州大学圣地亚哥分校海洋学家John Orcutt说:“我认为这些数据在这个时代的价值超过以往任何时候。”

1942年,曼哈顿计划为美国军方和科学界的合作奠定了基础。那个时代最伟大的物理学家被要求协助美国军队建造原子弹。从那时起,美国国防部开始与科学家进行紧密合作,它在大学校园附近建设研究实验室,它还拥有一个由独立科学家组成的小组——JASONs,这个小组主要在潜艇探测和核武器方面提供建议。

相关报道:http://dx.doi.org/10.1038/477397a

与此同时,民间科学家和国防机构之间也开始了合作。20世纪50年代出现了核潜艇战,美国海军投入了大量精力来绘制和解析海底(包括大洋中脊),由此推动了板块构造学的发展。现在的地震台网最初是用于监测核试验。华盛顿特区国家安全档案馆历史学家Jeffrey Richelson表示,自20世纪70年代以来,美国国防部有时候会与民间机构共享卫星图像,以应对洪水和森林火灾等自然灾害。

4.jpg

继续保密还是重现价值?

但是军方最敏感的数据仍然是科学界的禁区。例如,1967年,阿拉斯加的早期预警雷达比民间科学家提前好几个月就发现了脉冲星(即旋转的中子星,能不断地发出电磁脉冲信号)。但当时,军方对此保持沉默,直到2007年才告知大众。

冷战结束后,军方才开始放松对军事数据的限制。在20世纪90年代中期,天文学家与空军航天司令部达成了一项临时协定,即科学家可以得到导弹预警卫星收集的特定流星的数据。大约在同一时间,来自田纳西州的民主党参议员Al Gore开始思考情报部门可以为气候科学家提供什么。Al Gore在国会的情报和军事委员会任职,同时他本人对环境问题很感兴趣。他写信给当时的中央情报局局长Robert Gates,接着,一群科学家获得安全许可,可以接触到美国的部分军事数据。

Al Gore1993年担任副总统,他把一批科学家组成了一个名为MEDEA(Measurements of Earth Data for Environmental Analysis)的团队。

MEDEA成员William Schlesinger说:“只要有正当的理由,我几乎可以提出任何要求。” Schlesinger使用第二次世界大战的侦察图像来寻找气候变化对撒哈拉沙漠化的影响(尽管结果是发现没有任何影响)

官僚定律才是数据共享的最大阻力

MEDEA利用情报卫星系统地拍摄了北极,南极和美国大陆环境的图片。1995年,该小组获得了早期摄影侦察卫星CoronaArgonLanyard拍摄的图像,这些卫星在1960年至1972年期间拍摄了超过86万张地球照片。考古学家在这些图像中有了重大发现,例如,哈佛大学的考古学家Jason Ur根据卫星拍摄的照片绘制了古代亚述王(Assyrian kings)挖掘的大运河的全貌。

相关报道:https://www.nature.com/news/2011/110921/full/477388a/box/1.html

5.jpg

20世纪90年代末,美国和俄罗斯公开了1970年至1990年之间的卫星、潜艇等记录的北冰洋海冰数据,这些数据足够科学家们重建北极冰层逐渐变薄的过程。民间对北冰洋的监测比军方晚了几十年,美国国家科学院院长Ralph Cicerone说:“如果没有早期的机密数据,人们不会有任何线索。”

然而,在2000年左右,MEDEA突然停止了工作。2009年,空军的非正式流星数据也不公开了。没有人真的知道为什么,但这应该就是与情报机构合作的代价。正如Schlesinger所说,这是科学家并不了解的“黑暗世界”。

华盛顿特区美国科学家联合会政府保密项目负责人Steven Aftergood花了数十年时间研究美国情报机构,他表示,数据分享永远不是美国国防部首要考虑的事。即使数据未被加密,情报机构也不想公布原始数据,或者将其转换为科学家可以使用的格式。Aftergood说:“任何组织都不会自发地披露和分享信息,这是一条官僚定律。政治压力(比如Al Gore施加的压力)是说服情报机构共享数据的关键。”

新的合作正在兴起

2008年,关注气候变化的国会委员会悄悄召集MEDEA,评估军事部门和情报部门是否可以提供有价值的环境数据。MEDEA非正式主席Cicerone给出了肯定的答案。虽然情报卫星不如定制仪器那么有用,但它可以填补民用卫星收集的气候数据里的一些空白。尤其考虑到最近的预算短缺和发射失败,例如20092,美国国家航空航天局(NASA)的轨道碳观测卫星发射失败。

同样在2009年,MEDEA说服情报部门分享部分区域的环境图像,在当时情报部门已经定期拍摄这些区域十多年了。这些图像现已存档在Global Fiducials Library,科学家可通过美国地质调查局(USGS)获取进入许可。Orcutt说:“在这个时代,这些图像是无价的,因为情报部门大约每隔几周采集一次图像,这比民用研究卫星更频繁更持续。”

美国前总统奥巴马在2010年发布的太空政策明确支持数据共享,这给了NASA近地天体观测小组的Lindley Johnson从美国空军那获取数据的信心。Lindley Johnson表示,这项太空政策使得天文学家能够获取导弹预警卫星记录的所有流星的数据,有助于科学家更好地了解轨道上近地天体的种类。

军方和科学界的合作能带来多少科学发现还是未知。到目前为止,科学家只能在有限的范围内使用军方提供的图像。美国地质勘探局的民事应用委员会负责监督加密图像数据的使用,委员会执行主任Bruce Molnia说:“我们面临的最大挑战之一就是告知科学界正当使用军方提供的图像数据。” MEDEA成员能够获得全部机密数据,但目前他们只能使用这些数据来解决政府提出的政策问题,例如气候变化带来的国家安全风险,而不是进行他们自己的科学研究。

然而,Cicerone希望军方可以分享更多的情报数据。Cicerone 说:“军方的‘眼睛’和‘耳朵’遍布世界,作为科学家,我们非常希望能得到这些数据进行研究。在这个时代,做研究时间可不等人。”

相关报道:https://www.nature.com/news/2011/110921/full/477388a.html

6.jpg

SQL 转换不仅速度更快,而且代码也更易读,更易于维护。在这里,我使用 lag first_value 函数来查找用户历史记录中的特定记录(即分区)。然后使用 age 函数来确定两次访问间的时间差。

更有趣的是,当这些转换脚本应用于 6.5 GB 的数据集时,Python 完全失败。在 3 次尝试中,Python 崩溃了 2 次,第三次我的计算机完全崩溃...... SQL 只耗时 226 秒。

更多信息参见:

https://www.postgresql.org/docs/9.5/functions-window.html

http://www.postgresqltutorial.com/postgresql-window-function/

我对 SQL 的第一个误解是:SQL 无法扁平化不规则的 json

对我来说,另一个改变是我意识到 Postgres 可以很好地处理 json。我最初认为用 Postgres 扁平化或解析 json 是不可能的...... 我不敢相信自己竟然如此愚蠢。如果你想关联 json 并且它的模式在行间是一致的,那么最好的选择可能就是使用 Postgres 内置功能来解析 json

7.jpg

 

 另一方面,我的样本数据集中一半 json 不是有效的,因此存储为文本。在这种情况下,我要么重新编码数据使其有效,或者删除无效的行。为此,我创建了一个名为 is_json 的新 SQL 函数,然后使用该函数来验证 WHERE 子句中的 json 是否有效。

8.jpg

 

 不幸的是,我发现 user_json 具有不同的模式,具体取决于用户所使用的 app 版本。虽然从应用程序开发的角度来看这是有道理的,但是有条件地解析每行的每种可能性代价是很高昂的。难道我的最终归宿还是 Python?不不不!我在 Stack Overflow 上找到了一个由 Postgres 大神编写的 klin 函数(https://stackoverflow.com/users/1995738/klin)

9.jpg

 

 这个函数能够成功地扁平化 json,轻松解决我的噩梦。

结语

有一种说法叫「Python 是做任何事情的第二好语言」。我相信这是真的,并且在某些情况下 Python 和「最好」语言之间的性能差异可以忽略不计。但是在本文介绍的情况下,Python 无法与 SQL 比肩。这些发现完全改变了我做 ETL 的方法。我现在的工作模式是「不要将数据移动到代码中,而是将代码移动到数据中」。Python 将数据移动到代码中,而 SQL 执行后者。更重要的是,我知道我只是触及了 SQL postgres 的皮毛。我期待能发掘出更多出色的功能,使用分析库实现加速。

原文链接:https://towardsdatascience.com/python-vs-sql-comparison-for-data-pipelines-8ca727b34032

编辑:hely    来源:网络大数据


发表评论 共有条评论
用户名: 密码:
匿名发表