至7月20日,《乡下人的悲歌》一周内销量升至19.7万册,比上一周增加13.6万册,且连续多日占据亚马逊图书榜榜首。与此同时,该书引发的争议也在同步上升。
电影《乡下人的悲歌》(2020)剧照。
据美国《出版人周刊》等媒体统计,美国大选最新动向正在持续影响相关图书销量。在成为特朗普竞选搭档之后,万斯的回忆录《乡下人的悲歌》销售轨迹发生了根本性变化。截至7月20日,该书一周内销量升至19.7万册,比上一周增加13.6万册。据出版方保守估计,该书的不同版本目前已累计售出约65万册,且仍在持续加印中。此外,该书在美国多个图书榜单上名列前茅,甚至登上了美国书商协会的成人非小说类平装书排行榜。
《乡下人的悲歌》最初于2016年出版。许多人认为,这本书对于想要了解特朗普为何对美国工人阶级选民有特殊吸引力的人而言,无疑是必读书目。在书中,万斯讲述了他在俄亥俄州米德尔顿长大的经历。在那里,他度过了一个贫穷、暴力的童年,母亲也染上了毒瘾。但万斯的家族根源可以追溯到肯塔基州杰克逊,他的祖父母“外公外婆”就出生在那里,万斯的文化身份就是从那里形成的。全书以20世纪80年代为背景,也就是美国钢铁行业崩溃约十年之后。彼时经济衰退导致许多人失业,生活陷入困境,万斯的家人也不例外。而万斯想描绘的也正是这群人的挣扎。
该书在当年出版后,曾迅速引起美国国内自由派和保守派的强烈反响。《纽约时报》曾发布书评认为,这本书“对白人底层民众进行了富有同情心和洞察力的社会学分析”。2020年,根据该书改编的同名电影在流媒体平台网飞上线,并迅速跻身平台播放量前十名。当时,万斯还以一个温和的反特朗普者示人,而在这本书重新进入大众视野后,万斯已经被外界视为大声疾呼“让美国再次伟大”的战士。
《乡下人的悲歌》,[美]詹姆斯·戴维·万斯 著,刘晓同 庄逸抒 译,江苏凤凰文艺出版社,2017年4月。
随着该书销量的持续上升,围绕该书的舆论也日益呈现两极化。万斯的支持者认为,这本书是一部关于战胜赤贫的励志故事,它让人们更多意识到影响美国穷人生计的根源,尽管这本书从一开始就没有打算代表所有人。而争议声音就来自于此。越来越多批评者认为,这本书歪曲了阿巴拉契亚社区的形象,万斯在书中将阿巴拉契亚人描绘出“基因低劣、懒惰”的人。万斯在书中写道:“贫穷是家族传统”,并认为乡下文化“越来越助长了社会衰败,而不是阻止它”。
对此,肯塔基州桂冠诗人西拉斯·豪斯(Silas House)认为,万斯不公平地将经济不平等和系统性压迫等超出肯塔基州东部人控制范围的挑战归咎于他们,同时“没有为其判断提供任何历史或文化背景”。作家威利·卡弗(Willie Carver)则认为,万斯在创作《乡下人的悲歌》时利用了人们的情感创伤,并在2016年激烈的选举中依靠刻板印象来助长虚假的政治叙事。阿巴拉契亚作家马修·费伦斯(Matthew Ferrence)表示这本书只是评判贫困家庭,而不是寻求切实可行的解决方案。
还有一部分声音则质疑万斯的阿巴拉契亚血统,直言“他不是我们中的一员”。在2019年出版的《阿巴拉契亚的清算:一个地区对的回应》(暂译,Appalachian Reckoning: A Region Responds to Hillbilly Elegy)中,几位阿巴拉契亚人撰写回应文章,集中呈现了他们认为万斯作品中缺乏的多元视角。
在内容争论之余,该书引出的相关实际抵制行动也备受争议。德国贸易出版商乌尔斯坦(Ullstein)就因将《乡下人的悲歌》一书移出书单,遭到德国政界媒体的猛烈批评。上周,乌尔斯坦在给德国新闻杂志《明镜》的一份简短声明中,为其有争议的决定辩解,称万斯从《乡下人的悲歌》出版时对特朗普的直言不讳的批评者,转变为如今特朗普最直言不讳的追随者之一,采取了“激进、煽动、排斥的政策”。但乌尔斯坦因此被指责是在强硬地抵制文化,并试图将德国图书业政治化。
除《乡下人的悲歌》销量变动之外,美国民主党总统候选人卡马拉·哈里斯(Kamala Harris)的作品《我们秉持的真相》(暂译,The Truths We Hold)需求也在大幅上涨,尤其是在7月21日拜登决定退出2024年美国总统竞选之后。尽管该书的销量数据还未公布,但企鹅出版社的一位代表称,目前一些零售商已经缺货,该社已经“立即重新印刷了该书的精装版和平装版”。
《我们秉持的真相》英文版书封。
参考链接:
1.‘Hillbilly Elegy' Sales Soared Last Week:Sales of Books by Kamala Harris Growing
https://www.publishersweekly.com/pw/by-topic/industry-news/bookselling/article/95564-hillbilly-elegy-sales-soared-last-week-sales-of-books-by-kamala-harris-growing.html
2.The Hillbilly Elegy Movie Undercuts J.D. Vance’s Whole Message
https://slate.com/culture/2024/07/hillbilly-elegy-jd-vance-movie-netflix-trump-vp.html
3.J.D.Vance's 'Hillbilly Elegy' continues to stir controversy and generate book sales
https://www.yahoo.com/news/jd-vances-hillbilly-elegy-continues-to-stir-controversy-and-generate-book-sales
4.Ullstein under fire for removing J.D.Vance's bestseller from list
https://www.thebookseller.com/news/ullstein-under-fire-for-removing-j-d-vances-bestseller-from-list
编译/申璐
编辑/荷花
校对/陈荻雁
前,美国大选的局势陷入胶着状态。
在关键摇摆州的争夺上,特朗普和拜登呈现出极为白热化的状态。特朗普和拜登均表示有信心赢下选战。特朗普甚至认为自己已经赢下了选战。如今,竞选结果将取决于中西部“铁锈州”——威斯康星、密歇根、宾夕法尼亚等州的结果。
特朗普和拜登的竞争呈现出白热化的状态。
无论是哪一方获胜,对方都很难以接受,许多民众担心这可能导致暴力冲突。这也体现出美国社会的撕裂。许多专家也分析,不管谁当选,美国社会都很难回到四年前,而新的挑战也无可回避。
编译丨徐悦东
《卫报》的报道分析,不管哪方获胜,美国都很可能爆发严重的示威,各地民众如临大敌,都在为可能到来的暴力骚乱而积极准备。在华盛顿特区,白宫、拉斐特广场和椭圆形草坪已经被高高的钢铁栅栏保护起来,其周围的街区中的企业和公寓楼的玻璃则用木板保护起来,以防打砸抢烧。有钱人则用沙袋加固自己的防御工事。
担心被打砸抢烧而用木板保护玻璃的商店。
在纽约,由于担心示威者的冲击,特朗普大厦则被警察保护了起来。国民警卫队进城,并撤掉了垃圾桶,防止被安装爆炸物。由于担心大选日的骚乱,研发自动驾驶汽车的Waymo公司将暂停在旧金山测试自动驾驶汽车,并将车队停放到一个“安全位置”。部分美国航空公司正考虑将在美国多个城市市中心酒店的机组人员进行调离。加拿大副总理克里斯蒂娅·弗里兰(Chrystia Freeland)甚至表示,加拿大政府正与驻美国的外交官合作,确保加拿大公民在选举后发生骚乱时的安全。沃尔玛暂时下架枪支弹药的售卖。
美国民众如此“未雨绸缪”,是因为他们有了“黑人的命也是命”运动时遭遇骚乱的经验。若特朗普赢下了选举,“黑人的命也是命”运动很可能旧火重燃;倘若拜登赢了选举,极右翼团体也有可能会制造冲突。美国社会撕裂的伤口似乎难以愈合。
和谐的美国社会已经一去不复返了?
在美国,多名专家以及媒体人都在表达一个相似的观点:无论谁赢了2020年大选,美国社会都回不到以前的那种状态了——美国的社会撕裂并不会因谁上台而愈合,特朗普已经彻底改变了美国。
伦敦政治经济学院社会学教授理查德·森内特(Richard Sennett)表示,即使拜登赢得大选,美国在短期内也不会“康复”。因为在美国,有30%的人属于极端右翼。他们通过选特朗普来表达他们对“白色美国”的怀旧之情。
特朗普。
这种趋势在上世纪70年代就开始了。从上世纪70年代开始,这批白人就对“插队”的其他人感到愤怒。他们觉得,精英和城市贫民窟里的底层人在抢夺他们的社会资源。随着社会贫富分化加剧,这种情绪在近些年变得更强。支持特朗普的选民大多是退休人员、蓝领工人、小企业主和基督教福音派人士。不管大选结果如何,这些人群的愤怒和诉求都不会因此减轻。
CNN驻白宫记者史蒂芬·科林森(Stephen Collinson)表示,即使拜登赢得了选举,他也不能扑灭“特朗普主义”的势头。拜登表示,若他赢下了大选,他将重新加入《巴黎气候协定》,尊重美国的盟友,拯救美国经济。但是,科林森认为,特朗普已经严重损害了美国的利益和美国在世界上的地位。无论谁当总统,欧盟已经开始构想一个不受美国力量保障的世界。世界格局已经被特朗普改变,拜登已经不可能让美国回到四年前的状态。
《卫报》美国政治版块主编大卫·史密斯表示,无论谁当选,“两个美国”的冲突伤痕都很难愈合。
在奥巴马时代,奥巴马说,“并不存在一个自由派的美国和一个保守派的美国,世界上只有一个美国。”拜登在今年竞选时也说,“若我当上了美国总统,我也会为那些不支持我的人而努力工作。”
尽管民主党候选人一直在呼吁美国该团结起来,但实际上,这充其量只是一个愿景。今年的美国大选被许多人称为一场“冷内战”。就算拜登当选,美国社会的撕裂伤口不可能马上愈合,“特朗普主义”一定会以一种更为愤怒和暴力的形式继续存在。假如特朗普赢得了选举,美国无疑将会更加分裂。恰如美国前国防部长莱昂·帕内塔(Leon Panetta)所说,“这种分裂和仇恨、恐惧和沮丧,不会在大选后的第二天消失。这需要时间。一场选举、一次演讲,国会通过一项法案都无法解决这个问题。”
支持民主党的地区和支持共和党的地区宛如两个世界
“男性vs女性”、“黑人vs白人”、“年轻一代vs年老一代”、“自由派vs保守派”、“农村vs城市”、“好莱坞vs铁锈带”、“受过教育的人vs蓝领工人”、“支持堕胎vs反堕胎”、“精英vs底层”、“阴谋论者vs科学主义者”……无数的二元对立撕扯着美国。这场总统大选牵涉到这些二元对立的纷争。这些二元对立还会以各种形式表现出来,包括戴不戴口罩。两党斗争的白热化使得许多荒谬的对立项都能在现实中成立。
2016年,在电视节目Duck Dynasty v Modern Family中,该节目发现,在支持特朗普的地区,76%至少有一家Cracker Barrel餐厅——这家餐厅提供美国南方家常菜;而只有22% 的地区有一家Whole Foods餐厅——这是一家卖健康有机食物的连锁超市。而在1992年,这两项数据分别是54%和19%,这体现出美国不同群体分裂的加剧,以及群体特征同质性的加强。
拜登。
民主党支持者主要集中在人口年轻且多样化程度较大的地区,共和党则从乡村老年白人选民那里获得选票。在2016年大选中,特朗普赢得了2584个乡村地区的选票,而希拉里才赢得了472个。布鲁金斯学会的智囊团发现,支持民主党的地区的经济产出就占美国经济产出的近三分之二。
去年,民主党总统候选人之一安德鲁·杨(Andrew Yang)就曾告诉《卫报》记者,在圣路易斯和旧金山之间,或在密歇根州和曼哈顿之间旅行时,感觉像是穿越了两个世界,而不是穿越了几个时区。
新美国智库的高级研究员李·德鲁特曼(Lee Drutman)在10月份表示,“事实上,在我们遇到某人时,我们可以立即将他们标签为“特朗普选民”或“拜登选民”。这种标签可以让我们快速的看到这两种人的显著不同之处。
李·德鲁特曼还表示,在过去四十年中,美国人的不满和不信任程度在不断升级。这是因为美国太关注国家层面的政治决策,而忽视了地方微观的治理,这使得许多真正代表地方利益的议员无法在国会上取得优势地位。而且,共和党和民主党在“城/乡”分野和“自由/保守”分野上站队过于鲜明。这直接导致通过选举解决社会问题的边际效益递减,而群众间的沟壑却在加深。
世界末日般的竞选语言,在美国历史上从未出现过
奥巴马曾在民主党全国代表大会上警告说,若特朗普赢了,美国的民主可能因此凋零。特朗普及其盟友则一直在告诉美国人,若拜登赢了,“社会主义将终结美国”。乔治·梅森大学的情感历史学家彼得·史坦斯(Peter Stearns)在《华盛顿邮报》说,这种从未出现过的世界末日式的竞选语言,使得当下成了一个危险时刻,若对方获胜,美国的前途将一片漆黑。
经历过七次美国大选的共和党政治顾问弗兰克·伦茨(Frank Luntz)也说,“我从未见过这样的事情。”在美国政治生活中,长期以来一直都有着这种“不祥之兆”。美国的国父们就曾警告北美十三州的人民,若独立战争失败,他们将面临可怕的未来。但是,从前的这些“警告”都没有如今的极端言论那么令人震惊。
雪城大学研究极端主义的政治学家迈克尔·巴昆(Michael Barkun)表示,“这一切非常令人担忧。若对方选举获胜美国就会因此完蛋的想法,完全不符合美国的历史传统。”因为一般来说,美国人会将“让美国完蛋”的假想敌放在外国,比如冷战时的苏联。
迈克尔·巴昆说,“现在对方都不再视对方为对手,而视其为邪恶分子。非此即彼的选择似乎不存在中间立场,人们对政府和各种机构的信任度会因此大大下降。”
“黑人的命也是命”运动。
据《华盛顿邮报》报道,弗吉尼亚州有31%的拜登支持者拒绝接受特朗普胜选,有25% 的特朗普支持者同样不接受拜登的胜利。为此,内战的谣言甚嚣尘上,美国人对选举后果非常担忧。像“QAnon”等认为有秘密集团控制了政府的政治阴谋论大行其道,这很可能会导致严重的暴力行为。反堕胎活动家艾莉·贝丝·斯塔基(Allie Beth Stuckey)说,她对大选结果感到很恐惧,就像左派担心特朗普的独裁威胁一样,右派也非常恐惧民主党总统的胜选。
迈克尔·巴昆还说,对新冠肺炎疫情的恐惧、对种族歧视的抗议、突然的经济崩溃,导致了这次美国大选期间极深的不信任感。这也意味着美国在短期内很难再次团结起来。这种史无前例的不信任感在美国民众对科学权威的态度表现得淋漓尽致。巴昆说,“病毒是看不见的,但比病毒更可怕的是,现在美国人居然都认为科学信息和权威专家是可疑的。”
美国甚至接近内战的边缘?
与其他总统形成鲜明对比的是,特朗普没有把自己定位为一个希望大使,而是一个受害者。多年以来,在美国大选中,呼吁希望和乐观的候选人很可能获胜,克林顿称自己是“来自希望的人”;乔治·W·布什认为自己是“富有同情心的保守主义者”;奥巴马的竞选口号也包括“希望和改变”。特朗普却与众不同,他发表阴谋论,甚至认为自己是阴谋集团“深层国家”的受害者。因此,他希望大家要抵制针对他的迫害行为。
面对大选结果,特朗普一再表示他可能会拒绝接受选举结果。拜登则为此表示他对特朗普“以某种方式制造社会不安定的”担忧。拜登曾警告美国人,美国正处于危险的方向,一场全面的党派战争或许会开始。特朗普则辩称,若拜登获胜,美国将陷入“暴民政治”,“没有人会安全”。为此,主持人帕特·罗伯逊(Pat Robertson)在电视节目中担心道,选举后“将会爆发战争”。他预言美国将经历“很大程度的内乱”。
在Youtube的一档节目中,受访的前特朗普基督教政策的顾问阿梅迪亚(Amedia)牧师表示,他反对拜登的原因是,若拜登获胜的话,美国人甚至可以跟母牛发生性行为,这简直是世界末日;因此,特朗普是上帝选出的领导人。不过,作为特朗普的重要粉丝之一,阿梅迪亚牧师也为美国发展出了一种不惜一切代价要赢得选举的心态而感到悲伤。双方都认为对方让美国的灵魂遭到威胁。
特朗普在竞选集会上。
此外,这位牧师还希望美国的年轻人不该因此而拒绝相信科学,科学和信仰是不冲突的。在美国的历史当中,每当紧迫关头,人们或许会怀疑科学和知识分子。情感历史学家彼得·史坦斯表示,“这种怀疑可以是健康和民主的。但是,如今我们看到的是,一切权威似乎已经遭到严重侵蚀。我认为我们已经达到了内战的边缘。”
阿梅迪亚牧师也对可能使得美国陷入暴力冲突的阴谋论表示担忧。避免这种阴谋论传播的唯一方法是,大众能选出一位被广泛接受的领导人。而这需要时间。阿梅迪亚说,“为什么我们必须要在左右之间选择?为什么我们不能又支持民权运动又支持反堕胎?为什么我们不能同时接受科学和宗教信仰?”“在我的教会中,无论结果如何,我们都将带来团结的声音……我们如何才能互相尊重地治愈伤口?”
美国有可能因此涅槃重生吗?
糟糕的冲突或许是崭新的开始。里奇·洛瑞(Rich Lowry)在10月份的《国家评论》(the National Review)中写道,特朗普是“抵制全国压倒性文化浪潮的重要象征物”,“对许多人来说,他是一个可以用中指对付那些在文化上耀武扬威的人。”洛瑞所说的文化浪潮,主要指美国的种族上的政治正确问题。
奥巴马是美国第一位黑人总统,特朗普作为消灭他遗产的人物而在美国政治上出现。公共宗教研究所的创始人(Public Religion Research Institute)兼首席执行官罗伯特·琼斯(Robert P Jones)表示:“就美国人口结构变化而言,我们正处在美国历史的关键时刻。这个关键时期会加剧许多政治分歧。这超越了政治,因为这一切涉及美国身份的基本问题。在美国所有的历史当中,盎格鲁-撒克逊的白人新教徒是美国身份的核心。”
在奥巴马2008年当选总统时,白人基督徒占总人口54%,如今他们仅占44%。因此,琼斯认为,“在过去十年中,我们已经从一个以白人和基督徒为主体的国家,跨越到不再以白人和基督徒为主体的国家。但是,白人基督徒在文化上的主人翁意识仍然非常强烈。他们如今有一种失落感。因此,他们加深了仇外观念。人口结构变化是今天美国政治斗争的深层基础。”据民调显示,拜登得到了十分之九美国黑人的支持。人口结构的改变是长期而缓慢的,这也意味着这些年来美国的种族问题注定不会安宁,白人至上主义依然可能猖獗。
除了种族问题之外,其他深层次的社会问题依然困扰着美国。《文化情结和美国灵魂》(Cultural Complexes and the Soul of America)的作者、精神病学家托马斯·辛格(Thomas Singer)表示,“一切都正在崩溃。”“不管左派还是右派,我认为使我们成为美国人的基本特质开始被改变。”
辛格表示,这些年的经历让他回想到他在1968年的痛苦经历。当时,他还是一名年轻人,他和他的同龄人都认为美国的未来的一切都将崩溃。当然,美国进入了另一个发展阶段。现在,他听闻到许多年轻人的苦恼——阶层上升通道的缺乏、地球的生态环境恶化、自动化冲击着就业市场、极端的贫富分化……这些绝望的力量在特朗普崛起之前就已经被充斥在美国社会的各处,特朗普不过是一个表象。
特朗普在竞选集会上。
辛格将特朗普视为典型的“美国反叛者”——他是无因的反叛者,他不仅是一个破坏性力量,也是一个阻挠者。他不赞成“特朗普主义”,但他认为特朗普其实给了美国一个崭新的机会——诗人惠特曼曾称,美国的基本特质是愤怒地对“野蛮的偏见”进行斗争,这往往会孕育新生。
特朗普的出现让美国人可以在种族问题和资本主义问题中,坚定了他们的看法,对那些“野蛮的偏见”进行斗争,这是一个全新的美国诞生的基础。当然,若不真正解决美国的社会问题,美国的分裂仍然会继续。愤怒的民粹主义让特朗普赢得了2016年大选。但失业问题依然还是很严重。若特朗普胜选,辛格希望现实能够倒逼特朗普去做一些实事解决这些问题,而不是继续削弱社会信任度。“根据人类的经验,死亡和重生连结在一起。”美国是否能涅槃重生还得交给时间。在这些社会问题被改善之前,“两个美国”的冲突或许只会变得更遭。
本文参考链接:https://www.theguardian.com/commentisfree/2020/nov/02/donald-trump-us-election-base-extreme,https://www.theguardian.com/us-news/2020/nov/03/us-election-washington-dc-scene,https://www.theguardian.com/us-news/2020/nov/03/trump-era-division-america,https://www.theguardian.com/world/2020/nov/01/democracy-fascism-global-trump-biden-election,http://newfascismsyllabus.com/news-and-announcements/an-open-letter-of-concern-by-scholars-of-authoritarianism/,https://www.theguardian.com/commentisfree/2020/nov/01/a-win-for-joe-biden-would-only-scratch-the-surface-of-america-afflictions-donald-trum,https://www.washingtonpost.com/politics/end-of-democracy-election/2020/10/25/3b8c0940-13d0-11eb-ba42-ec6a580836ed_story.html,https://www.theguardian.com/profile/richardsennett,https://edition.cnn.com/2020/11/03/world/meanwhile-in-america-october-28-intl/index.html,https://www.routledge.com/Cultural-Complexes-and-the-Soul-of-America-Myth-Psyche-and-Politics/Singer/p/book/9780367272357
编译 | 徐悦东
编辑 | 走走 罗东
校对 | 薛京宁
本文中,我们将通过Apache Spark,来向您介绍上述四种大数据文件格式的各种属性,及其优缺点比较。
众所周知,Apache Spark支持许多种不同的数据格式,其中包括:无处不在的CSV格式、对于Web友好的JSON格式、以及常被用于大数据分析的Apache Parquet和Apache Avro。
1、CSV
CSV(Comma-Separated Values,逗号分隔值)文件,通常被用于在使用纯文本的系统之间,交换表格类型的数据。CSV是一种基于行的文件格式。也就是说,此类文件中的每一行都对应到数据表中的具体某一行。通常,CSV文件里包含有一个标题行,该标题行提供了数据的列名。如果没有标题行的话,该文件将被视为已部分完成了结构化工作。
单个CSV文件往往无法显示层次化的结构、或数据关系。而具体的数据连接关系往往需要通常多个CSV文件进行组织。各种外键(Foreign key)一般被存储在一个或多个文件的多个列中。不过这些文件之间的链接并非由其格式本身来表示。此外,由于并未完全标准化,因此在CSV格式文件中,您可以使用逗号以外的界定符,例如:制表符(tabs)或空格。
CSV文件的另一个特性是:只有处于未压缩的原始文件状态、或是运用诸如bzip2(https://en.wikipedia.org/wiki/Bzip2)或lzo(https://ru.wikipedia.org/wiki/LZO)之类的解压缩工具时,CSV文件才能够被拆分(注意:lzo需要进行索引之后,方可执行拆分)。
优点:
CSV易于人工阅读,也易于手动编辑。
CSV提供了一种简单明了的信息模式(schema)。
几乎所有现有的应用程序都能够处理CSV文件。
CSV文件比较易于实现和解析。
对于XML而言,您需要在每一行的每一列中分别添加开始与结束标签;而CSV比较简约,您只需一次性写入列标题即可。
缺点:
由于处置的是平面数据,因此需要事先对复杂的数据结构进行格式上的转换。
由于不支持列的类型,因此在文本列和数字列之间并无区别。
并无表示二进制数据的标准方法。
由于NULL和引号之间并无区别,因此导入CSV时可能会出现问题。
对于特殊字符的支持性较差。
缺乏通用的标准。
尽管存在着一定的局限性,但CSV文件仍然是数据共享领域的上乘之选。它经常被广泛地用于各类业务应用、消费者行业、以及科学分析程序中。当前,大多数批处理和流数据处理模块(如Spark和Hadoop),都能够支持CSV文件的序列化与反序列化。它们在读取时提供了添加schema的方法。
2、JSON格式
JSON数据(JavaScript object notation,对象表示法)是以部分结构化的格式,表示各种键值(key-value)对。与XML不同,JSON通常可以按照分层的格式存储数据,即:子数据可以由父数据来显示。而与XML相同的是,它们在格式上都具有自我描述性(self-describing),可以被用户直接读取。不过,JSON文档通常要小得多。随着基于REST的Web服务的大量出现,JSON文档被频繁地使用在网络通信中。
由于许多类型的数据传输都已经用到了JSON格式,因此目前大多数的Web编程语言都能够支持JSON,或者通过使用外部库,来对JSON数据进行序列化和反序列化。正是有了这种支持,JSON能够通过显示数据结构,帮助用户实现热数据(hot data)的格式转换、以及冷数据(cold data)存储所涉及到的各种逻辑格式。
目前,许多批处理与流数据处理模块,都能够原生地支持JSON的序列化和反序列化。JSON文档中包含的数据,不但最终能够以性能更为优化的格式(如Parquet或Avro)予以存储,而且JSON所提供的原始数据类型,对于按需进行数据重新处理的任务也是非常重要的。
JSON文件具有如下优点:
JSON支持分层式结构,简化了文档中有关数据的存储,以及复杂关系的表示问题。
大多数编程语言都能够提供简化的JSON序列化库,并且能够对JSON序列化/反序列化提供内置的支持。
JSON支持对象列表,能够有助于避免将对象列表错误地转换为关系型数据模型。
诸如MongoDB、Couchbase和Azure Cosmos DB等NoSQL数据库,都能够支持JSON文件格式。
目前大多数工具都内置了对于JSON的支持。
3、Parquet
Cloudera和Twitter于2013年开发出了Parquet。它可以被用作基于列的存储格式,并针对多列数据集进行了适当地优化。由于其数据是按列进行存储的,因此它可以对数据进行高度压缩(其压缩算法对于那些包含在列中的、信息熵值较低的数据,效果会更好),以及拆分操作。Parquet的开发者号称:此类存储格式非常适合于处理大数据的相关问题。
与CSV和JSON不同,Parquet是一种二进制文件,其中包含了各种针对其内容的元数据(metadata)。因此,在无需读取与解析文件内容的情况下,Spark可以仅依靠元数据来确定文件中的列名称、压缩/编码方式、数据类型、乃至一些基本的统计类信息。另外,由于Parquet文件的列相关元数据通常被存储在文件的末尾,因此方便了用户一次性快速地写入信息。同时,Parquet针对WORM(Write Once Read Many,一次写入多次读取,请参见)的范例也进行了优化。虽然在写入文件其速度较慢,但是用户在读取时,尤其是仅访问某个列的子集时,速度却快得惊人。可见,对于那些需要大量进行读取操作的工作负载而言,Parquet是一种不错的选择。而对于需要操作整行数据的用例而言,用户则应当使用CSV或AVRO之类的格式。
Parquet在数据存储方面的优点包括:
由于是一种柱状结构的形式,因此Parquet只会读取所需的列信息,进而减少了对于磁盘I/O的消耗。这个概念被称为投影下推(projection pushdown)。
由于schema是随着数据一起移动的,因此数据能够自我描述(self-describing)。
虽然主要是为HDFS而创建的,但是其数据完全可以被存储在GlusterFs或NFS之类的其他文件系统中。
作为一个文件,您可以轻松地对Parquet进行移动、备份、复制、以及使用。
能够对Spark提供开箱即用式的原生支持,能够对于用户存储中的文件直接进行读取与保存。
当采用诸如snappy之类的压缩格式时,Parquet可以达到75%的高压缩比。
在实际运用中,与同类其他文件格式相比,该格式读取工作流的速度最快。
Parquet非常适合于那些需要对大量数据进行列汇总的数据仓库类应用。
可以通过Avro API和Avro Schema来读取和写入Parquet。
通过提供谓词下推(predicate pushdown),Parquet可以进一步降低磁盘I/O的成本。
谓词下推/过滤下推
谓词下推的基本思想是:将查询的某些部分(如:谓词)“推送”到数据的存储位置。例如,当我们提供一些过滤条件时,数据存储将会以过滤记录的方式,再从磁盘中读取数据。
谓词下推的优点:由于不再需要将整个数据读入内存并进行过滤,因此它并不需要大量的内存,也不会产生过多的磁盘I/O。显然整体性能得到了显著提升。
可见,此类方法可以通过较早地过滤掉无关数据的方式,来大幅减少查询与处理的时间。根据处理框架的不同,谓词下推可以通过执行不同的操作来优化查询。例如:在通过网络传输之前便过滤数据,在将数据加载到内存之前过滤数据,或是跳过读取整个文件(文件块)等操作。
目前,大多数RDBMS,包括Parquet和ORC等大数据存储格式,都能够遵循谓词下推的相关概念。
投影下推
投影下推的基本思想是:在对存储进行数据查询与读取时,并非读取所有字段,而只是读取那些必需的列。通常,Parquets和ORC之类的列格式都能够通过遵循此概念,以产生更好的I/O性能。
4、Avro
由Hadoop工作组于2009年发布的Apache Avro,是一种基于行的、可高度拆分的数据格式。Avro能够支持多种编程语言。通常,它也被描述为类似于Java序列化的数据序列化系统。为了最大程度地减小文件大小、并提高效率,它将schema存储为JSON格式,而将数据存储为二进制格式。
Avro通过管理各种添加、丢失、以及已更改的字段,来为schema的演化提供强大的支持。这使得旧的软件可以读取新的数据,而新的软件也可以读取那些旧的数据。而这对于那些经常发生变更的数据而言,是非常重要的。
Avro通过schema架构的管理能力,可以在不同的时段独立地更新不同的组件,从而降低了不兼容性所带来的风险。同时,开发人员既不必在应用程序中编写if-else语句,来应对不同的架构版本,也不必通过查看旧的代码,来理解那些旧的架构。而且,所有版本的schema都存储在可读的JSON标头中,以方便开发人员理解所有可用的字段。
如前文所述,由于schema是以JSON格式存储的,而数据是以二进制形式存储的,因此Avro是持久性数据存储和电传(wire transfer)的简约之选。另外,由于用户能够轻松地向Avro附加新的数据行,因此它通常是那些大量写入工作负载的首选格式。
优点:
Avro是一种与语言无关的数据序列化。
Avro将schema存储在文件的标题中,因此数据具有自描述性。
Avro格式的文件既可以被拆分、又可以被压缩,因此非常适合于在Hadoop生态系统中进行数据的存储。
由于Avro文件将负责读取的schema与负责写入的schema区分开来,因此它可以独立地添加新的字段。
与序列文件(Sequence Files)相同,为了实现高度可拆分性,Avro文件也包含了用于分隔不同块(block)的同步标记。
可以使用诸如snappy之类的压缩格式,来压缩不同的目标块。
总结
下表是上述四种文件格式的综合比较。
上表中的*号为:当作为CSV被压缩时,JSON具有可拆分性方面的类似问题。也就是说:当“wholeFile”选项被设置为true时(请参阅SPARK-18352),JSON是不可拆分的。
CSV有着最快的写入速度;JSON方便了人工阅读和理解;Parquet在读取列的子集方面速度最快;而Avro在一次性读取所有列方面速度最快。
JSON是Web通信方面的标准。通过定义良好的schema,各种API和网站可以持续使用JSON进行通信。
针对大数据的需求,Parquet和Avro进行了可拆分性方面的优化,可支持各种压缩,以及复杂数据结构。不过,它们的可读性和写入速度非常差。
作者:luminousmen;编译:陈峻
原文标题:Big Data File Formats Explained
*请认真填写需求信息,我们会在24小时内与您取得联系。