大数据科学应用API——DataFrame介绍

2015-09-08 MedSci MedSci原创

color: inherit;">"words")  hashingTF = HashingTF(inputCol="words", outputCol="features")  lr = LogisticRegression(maxIter=10, regParam=0.01) &nbs

Spark新的科学API——DataFrame 。这是2014–2015年Spark最大的API改动,DataFrame能够使得大数据更为简单,从而拥有更广泛的受众群体。

我们最早在设计Spark的时候,其中一个很重要的目标就是给大数据生态圈提供基于通用编程语言的(Java、Scala、Python)简单易用的API。Spark原本的RDD API通过函数式编程的模式把分布式数据处理转换成分布式数据集(distributed collections)。原本需要上千行用Hadoop MapReduce实现的代码,在Spark这个API上减少到了数十行。

然后随着Spark的不断壮大,我们希望拥有更广泛的受众群体利用其进行分布式处理,不局限于“大数据”工程师。这个新的DataFrame API在R和Python data frame的设计灵感之上,专门为了数据科学应用设计,具有以下功能特性:

  • 从KB到PB级的数据量支持;
  • 多种数据格式和多种存储系统支持;
  • 通过Spark SQL的Catalyst优化器进行先进的优化,生成代码;
  • 通过Spark无缝集成所有大数据工具与基础设施;
  • 为Python、Java、Scala和R语言(SparkR)API。

对于之前熟悉其他语言中data frames的新用户来说,这个新的API可以让Spark的初体验变得更加友好。而对于那些已经在使用的用户来说,这个API会让基于Spark的编程更加容易,同时其智能优化和代码生成也能帮助用户获得更好的性能。

初识DataFrames

在Spark中,DataFrame是一个以命名列方式组织的分布式数据集,等同于关系型数据库中的一个表,也相当于R/Python中的data frames(但是进行了更多的优化)。DataFrames可以由结构化数据文件转换而来,也可以从Hive中的表得来,以及可以转换自外部数据库或现有的RDD。

下面代码演示了如何使用Python构造DataFrames,而在Scala和Java中也有类似的API可以调用。

  1. # Constructs a DataFrame from the users table in Hive.
  2. users = context.table("users")
  3. # from JSON files in S3
  4. logs = context.load("s3n://path/to/data.json", "json")

一经构建,DataFrames就会为分布式数据处理提供一个指定的DSL(domain-specific language )。

  1. # Create a new DataFrame that contains “young users” only
  2. young = users.filter(users.age < 21)
  3. # Alternatively, using Pandas-like syntax
  4. young = users[users.age < 21]
  5. # Increment everybody’s age by 1
  6. young.select(young.name, young.age + 1)
  7. # Count the number of young users by gender
  8. young.groupBy("gender").count()
  9. # Join young users with another DataFrame called logs
  10. young.join(logs, logs.userId == users.userId, "left_outer")

通过Spark SQL,你还可以用SQL的方式操作DataFrames。下面这个例子统计了“young” DataFrame中的用户数量。

  1. young.registerTempTable("young")
  2. context.sql("SELECT count(*) FROM young")

在Python中,Pandas DataFrame和Spark DataFrame还可以自由转换。

  1. # Convert Spark DataFrame to Pandas
  2. pandas_df = young.toPandas()
  3. # Create a Spark DataFrame from Pandas
  4. spark_df = context.createDataFrame(pandas_df)

类似于RDD,DataFrame同样使用了lazy的方式。也就是说,只有动作真正发生时(如显示结果,保存输出),计算才会进行。从而,通过一些技术,比如predicate push-downs和bytecode generation,执行过程可以进行适当的优化(详情见下文)。同时,所有的DataFrames也会自动的在集群上并行和分布执行。

数据格式和来源

现代的应用程序通常需要收集和分析来自各种不同数据源的数据,而DataFrame与生俱来就支持读取最流行的格式,包括JSON文件、Parquet文件和Hive表格。DataFrame还支持从多种类型的文件系统中读取,比如本地文件系统、分布式文件系统(HDFS)以及云存储(S3)。同时,配合JDBC,它还可以读取外部关系型数据库系统。此外,通过Spark SQL的外部数据源(external data sources) API,DataFrames可以更广泛地支持任何第三方数据格式和数据源。值得一提的是,当下的第三方扩展已经包含Avro、CSV、ElasticSearch和Cassandra。


DataFrames对数据源的支持能力允许应用程序可以轻松地组合来自不同数据源的数据。下面的代码片段则展示了存储在S3上网站的一个文本流量日志(textual traffic log)与一个PostgreSQL数据库的join操作,目的是计算网站用户访问该网站的次数。

  1. users = context.jdbc("jdbc:postgresql:production", "users")
  2. logs = context.load("/path/to/traffic.log")
  3. logs.join(users, logs.userId == users.userId, "left_outer") \
  4. .groupBy("userId").agg({"*": "count"})

高级分析和机器学习  

当下,数据科学家们使用的技术已日益复杂,超越了joins和aggregations。为了更好地支持他们的使用,DateFrames可以直接在MLlib的machine learning pipeline API中使用。此外,在DataFrames中,程序还可以运行任意复杂的用户函数。

通过Spark,用户可以使用MLlib中新的pipelineAPI来指定高级分析任务。例如,下面的代码创建了一个简单的文本分类(text classification)管道。该管道由一个tokenizer,一个hashing term frequency feature extractor和logistic regression组成。

  1. tokenizer = Tokenizer(inputCol="text", outputCol="words")
  2. hashingTF = HashingTF(inputCol="words", outputCol="features")
  3. lr = LogisticRegression(maxIter=10, regParam=0.01)
  4. pipeline = Pipeline(stages=[tokenizer, hashingTF, lr])

一旦管道设置好,我们可以直接使用它在DataFrame上进行训练。

  1. df = context.load("/path/to/data")
  2. model = pipeline.fit(df)

对于那些复杂程度超出了machine learning pipeline API能力的任务,应用程序也可以通过DataFrames提供任意复杂的函数,当然这也可以通过Spark已有的RDD API来实现。下面代码段实现的是一个DataFrame“bio”列上的word count(大数据时代的Hello World)。

  1. df = context.load("/path/to/people.json")
  2. # RDD-style methods such as map, flatMap are available on DataFrames
  3. # Split the bio text into multiple words.
  4. words = df.select("bio").flatMap(lambda row: row.bio.split(" "))
  5. # Create a new DataFrame to count the number of words
  6. words_df = words.map(lambda w: Row(word=w, cnt=1)).toDF()
  7. word_counts = words_df.groupBy("word").sum()

智能优化和代码生成

与R/Python中data frame使用的eager方式不同,Spark中的DataFrames执行会被查询优化器自动优化。在DataFrame上的计算开始之前,Catalyst优化器会编译操作,这将把DataFrame构建成物理计划来执行。因为优化器清楚操作的语义和数据的结构,所以它可以为计算加速制定智能的决策。

在高等级上,这里存在两种类型的优化。首先,Catalyst提供了逻辑优化,比如谓词下推(predicate pushdown)。优化器可以将谓词过滤下推到数据源,从而使物理执行跳过无关数据。在使用Parquet的情况下,更可能存在文件被整块跳过的情况,同时系统还通过字典编码把字符串对比转换为开销更小的整数对比。在关系型数据库中,谓词则被下推到外部数据库用以减少数据传输。

第二,为了更好地执行,Catalyst将操作编译为物理计划,并生成JVM bytecode,这些通常会比人工编码更加优化。例如,它可以智能地选择broadcast joins和shuffle joins来减少网络传输。其次,同样存在一些较为低级的优化,如消除代价昂贵的对象分配及减少虚拟函数调用。因此,我们认为现有的Spark项目迁移到DataFrames后,性能会有所改观。

同时,鉴于优化器为执行生成了JVM bytecode,Python用户将拥有与Scala和Java用户一样的高性能体验。


上图是在单个机器上对1000万个整数进行分组聚合(group-by-aggregation)的运行时性能对比。在绿色部分,为了更好地执行,Scala和Python的DataFrame操作都被编译成了JVM bytecode,导致这两种语言在性能上基本有着同样的表现。同时,两者性能均优于普通Python RDD实现的4倍,也达到了Scala RDD实现的两倍。

不管选择了哪种语言,Catalyst优化器都实现了DataFrame程序的优化执行。同时,随着Catalyst优化器的不断改善,引擎也会变得更智能,从而对比已有版本,Spark的每一个新版本都会有性能上的提升。

在Databricks,数据科学家团队已经将DataFrame API搭载在内部的数据管道上。Spark程序性能的改进已经在我们内部得到证实,而程序也更加的简洁易懂。毫无疑问,这将大幅度地降低大数据使用门槛,让大数据技术为更多人使用。

这个API在今年3月初作为Spark1.3版本的一部分发布,大家现在可以直接享用。

版权声明:
本网站所有内容来源注明为“梅斯医学”或“MedSci原创”的文字、图片和音视频资料,版权均属于梅斯医学所有。非经授权,任何媒体、网站或个人不得转载,授权转载时须注明来源为“梅斯医学”。其它来源的文章系转载文章,或“梅斯号”自媒体发布的文章,仅系出于传递更多信息之目的,本站仅负责审核内容合规,其内容不代表本站立场,本站不负责内容的准确性和版权。如果存在侵权、或不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
在此留言
评论区 (5)
#插入话题
  1. [GetPortalCommentsPageByObjectIdResponse(id=2045248, encodeId=e5b6204524819, content=<a href='/topic/show?id=99465e75960' target=_blank style='color:#2F92EE;'>#数据科学#</a>, beContent=null, objectType=article, channel=null, level=null, likeNumber=36, replyNumber=0, topicName=null, topicId=null, topicList=[TopicDto(id=57759, encryptionId=99465e75960, topicName=数据科学)], attachment=null, authenticateStatus=null, createdAvatar=, createdBy=8e4c53, createdName=jiyangfei, createdTime=Mon Nov 23 06:53:00 CST 2015, time=2015-11-23, status=1, ipAttribution=), GetPortalCommentsPageByObjectIdResponse(id=1465999, encodeId=b6331465999d2, content=<a href='/topic/show?id=217c292009' target=_blank style='color:#2F92EE;'>#ATA#</a>, beContent=null, objectType=article, channel=null, level=null, likeNumber=38, replyNumber=0, topicName=null, topicId=null, topicList=[TopicDto(id=2920, encryptionId=217c292009, topicName=ATA)], attachment=null, authenticateStatus=null, createdAvatar=, createdBy=387a6772119, createdName=bbjsj_1981, createdTime=Thu Sep 10 12:53:00 CST 2015, time=2015-09-10, status=1, ipAttribution=), GetPortalCommentsPageByObjectIdResponse(id=36535, encodeId=72573653583, content=好东西, beContent=null, objectType=article, channel=null, level=null, likeNumber=109, replyNumber=0, topicName=null, topicId=null, topicList=[], attachment=null, authenticateStatus=null, createdAvatar=, createdBy=4b531630898, createdName=pine007, createdTime=Wed Sep 09 10:49:00 CST 2015, time=2015-09-09, status=1, ipAttribution=), GetPortalCommentsPageByObjectIdResponse(id=36523, encodeId=6a3e36523c8, content=有难度, beContent=null, objectType=article, channel=null, level=null, likeNumber=129, replyNumber=0, topicName=null, topicId=null, topicList=[], attachment=null, authenticateStatus=null, createdAvatar=http://thirdwx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTJq24S8KnicnAUEiaRzaqs5dFnXy36sdRT01oLMib3Ojktwan5aAACTkpYXGpUQPibPIjqYWmP8QriaQAw/132, createdBy=81c71616628, createdName=Chaddock, createdTime=Wed Sep 09 07:07:00 CST 2015, time=2015-09-09, status=1, ipAttribution=), GetPortalCommentsPageByObjectIdResponse(id=36492, encodeId=fea2364929e, content=需要学习, beContent=null, objectType=article, channel=null, level=null, likeNumber=92, replyNumber=0, topicName=null, topicId=null, topicList=[], attachment=null, authenticateStatus=null, createdAvatar=http://thirdwx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTJUNfdk68bHutYruGyxbKDzPWH3agcmId19Yf94FiapyicN0LTg0jykhqIhjPQVdR08FGR399rBpZIg/132, createdBy=feae1624323, createdName=Dr.LV, createdTime=Tue Sep 08 22:36:00 CST 2015, time=2015-09-08, status=1, ipAttribution=)]
  2. [GetPortalCommentsPageByObjectIdResponse(id=2045248, encodeId=e5b6204524819, content=<a href='/topic/show?id=99465e75960' target=_blank style='color:#2F92EE;'>#数据科学#</a>, beContent=null, objectType=article, channel=null, level=null, likeNumber=36, replyNumber=0, topicName=null, topicId=null, topicList=[TopicDto(id=57759, encryptionId=99465e75960, topicName=数据科学)], attachment=null, authenticateStatus=null, createdAvatar=, createdBy=8e4c53, createdName=jiyangfei, createdTime=Mon Nov 23 06:53:00 CST 2015, time=2015-11-23, status=1, ipAttribution=), GetPortalCommentsPageByObjectIdResponse(id=1465999, encodeId=b6331465999d2, content=<a href='/topic/show?id=217c292009' target=_blank style='color:#2F92EE;'>#ATA#</a>, beContent=null, objectType=article, channel=null, level=null, likeNumber=38, replyNumber=0, topicName=null, topicId=null, topicList=[TopicDto(id=2920, encryptionId=217c292009, topicName=ATA)], attachment=null, authenticateStatus=null, createdAvatar=, createdBy=387a6772119, createdName=bbjsj_1981, createdTime=Thu Sep 10 12:53:00 CST 2015, time=2015-09-10, status=1, ipAttribution=), GetPortalCommentsPageByObjectIdResponse(id=36535, encodeId=72573653583, content=好东西, beContent=null, objectType=article, channel=null, level=null, likeNumber=109, replyNumber=0, topicName=null, topicId=null, topicList=[], attachment=null, authenticateStatus=null, createdAvatar=, createdBy=4b531630898, createdName=pine007, createdTime=Wed Sep 09 10:49:00 CST 2015, time=2015-09-09, status=1, ipAttribution=), GetPortalCommentsPageByObjectIdResponse(id=36523, encodeId=6a3e36523c8, content=有难度, beContent=null, objectType=article, channel=null, level=null, likeNumber=129, replyNumber=0, topicName=null, topicId=null, topicList=[], attachment=null, authenticateStatus=null, createdAvatar=http://thirdwx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTJq24S8KnicnAUEiaRzaqs5dFnXy36sdRT01oLMib3Ojktwan5aAACTkpYXGpUQPibPIjqYWmP8QriaQAw/132, createdBy=81c71616628, createdName=Chaddock, createdTime=Wed Sep 09 07:07:00 CST 2015, time=2015-09-09, status=1, ipAttribution=), GetPortalCommentsPageByObjectIdResponse(id=36492, encodeId=fea2364929e, content=需要学习, beContent=null, objectType=article, channel=null, level=null, likeNumber=92, replyNumber=0, topicName=null, topicId=null, topicList=[], attachment=null, authenticateStatus=null, createdAvatar=http://thirdwx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTJUNfdk68bHutYruGyxbKDzPWH3agcmId19Yf94FiapyicN0LTg0jykhqIhjPQVdR08FGR399rBpZIg/132, createdBy=feae1624323, createdName=Dr.LV, createdTime=Tue Sep 08 22:36:00 CST 2015, time=2015-09-08, status=1, ipAttribution=)]
    2015-09-10 bbjsj_1981
  3. [GetPortalCommentsPageByObjectIdResponse(id=2045248, encodeId=e5b6204524819, content=<a href='/topic/show?id=99465e75960' target=_blank style='color:#2F92EE;'>#数据科学#</a>, beContent=null, objectType=article, channel=null, level=null, likeNumber=36, replyNumber=0, topicName=null, topicId=null, topicList=[TopicDto(id=57759, encryptionId=99465e75960, topicName=数据科学)], attachment=null, authenticateStatus=null, createdAvatar=, createdBy=8e4c53, createdName=jiyangfei, createdTime=Mon Nov 23 06:53:00 CST 2015, time=2015-11-23, status=1, ipAttribution=), GetPortalCommentsPageByObjectIdResponse(id=1465999, encodeId=b6331465999d2, content=<a href='/topic/show?id=217c292009' target=_blank style='color:#2F92EE;'>#ATA#</a>, beContent=null, objectType=article, channel=null, level=null, likeNumber=38, replyNumber=0, topicName=null, topicId=null, topicList=[TopicDto(id=2920, encryptionId=217c292009, topicName=ATA)], attachment=null, authenticateStatus=null, createdAvatar=, createdBy=387a6772119, createdName=bbjsj_1981, createdTime=Thu Sep 10 12:53:00 CST 2015, time=2015-09-10, status=1, ipAttribution=), GetPortalCommentsPageByObjectIdResponse(id=36535, encodeId=72573653583, content=好东西, beContent=null, objectType=article, channel=null, level=null, likeNumber=109, replyNumber=0, topicName=null, topicId=null, topicList=[], attachment=null, authenticateStatus=null, createdAvatar=, createdBy=4b531630898, createdName=pine007, createdTime=Wed Sep 09 10:49:00 CST 2015, time=2015-09-09, status=1, ipAttribution=), GetPortalCommentsPageByObjectIdResponse(id=36523, encodeId=6a3e36523c8, content=有难度, beContent=null, objectType=article, channel=null, level=null, likeNumber=129, replyNumber=0, topicName=null, topicId=null, topicList=[], attachment=null, authenticateStatus=null, createdAvatar=http://thirdwx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTJq24S8KnicnAUEiaRzaqs5dFnXy36sdRT01oLMib3Ojktwan5aAACTkpYXGpUQPibPIjqYWmP8QriaQAw/132, createdBy=81c71616628, createdName=Chaddock, createdTime=Wed Sep 09 07:07:00 CST 2015, time=2015-09-09, status=1, ipAttribution=), GetPortalCommentsPageByObjectIdResponse(id=36492, encodeId=fea2364929e, content=需要学习, beContent=null, objectType=article, channel=null, level=null, likeNumber=92, replyNumber=0, topicName=null, topicId=null, topicList=[], attachment=null, authenticateStatus=null, createdAvatar=http://thirdwx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTJUNfdk68bHutYruGyxbKDzPWH3agcmId19Yf94FiapyicN0LTg0jykhqIhjPQVdR08FGR399rBpZIg/132, createdBy=feae1624323, createdName=Dr.LV, createdTime=Tue Sep 08 22:36:00 CST 2015, time=2015-09-08, status=1, ipAttribution=)]
    2015-09-09 pine007

    好东西

    0

  4. [GetPortalCommentsPageByObjectIdResponse(id=2045248, encodeId=e5b6204524819, content=<a href='/topic/show?id=99465e75960' target=_blank style='color:#2F92EE;'>#数据科学#</a>, beContent=null, objectType=article, channel=null, level=null, likeNumber=36, replyNumber=0, topicName=null, topicId=null, topicList=[TopicDto(id=57759, encryptionId=99465e75960, topicName=数据科学)], attachment=null, authenticateStatus=null, createdAvatar=, createdBy=8e4c53, createdName=jiyangfei, createdTime=Mon Nov 23 06:53:00 CST 2015, time=2015-11-23, status=1, ipAttribution=), GetPortalCommentsPageByObjectIdResponse(id=1465999, encodeId=b6331465999d2, content=<a href='/topic/show?id=217c292009' target=_blank style='color:#2F92EE;'>#ATA#</a>, beContent=null, objectType=article, channel=null, level=null, likeNumber=38, replyNumber=0, topicName=null, topicId=null, topicList=[TopicDto(id=2920, encryptionId=217c292009, topicName=ATA)], attachment=null, authenticateStatus=null, createdAvatar=, createdBy=387a6772119, createdName=bbjsj_1981, createdTime=Thu Sep 10 12:53:00 CST 2015, time=2015-09-10, status=1, ipAttribution=), GetPortalCommentsPageByObjectIdResponse(id=36535, encodeId=72573653583, content=好东西, beContent=null, objectType=article, channel=null, level=null, likeNumber=109, replyNumber=0, topicName=null, topicId=null, topicList=[], attachment=null, authenticateStatus=null, createdAvatar=, createdBy=4b531630898, createdName=pine007, createdTime=Wed Sep 09 10:49:00 CST 2015, time=2015-09-09, status=1, ipAttribution=), GetPortalCommentsPageByObjectIdResponse(id=36523, encodeId=6a3e36523c8, content=有难度, beContent=null, objectType=article, channel=null, level=null, likeNumber=129, replyNumber=0, topicName=null, topicId=null, topicList=[], attachment=null, authenticateStatus=null, createdAvatar=http://thirdwx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTJq24S8KnicnAUEiaRzaqs5dFnXy36sdRT01oLMib3Ojktwan5aAACTkpYXGpUQPibPIjqYWmP8QriaQAw/132, createdBy=81c71616628, createdName=Chaddock, createdTime=Wed Sep 09 07:07:00 CST 2015, time=2015-09-09, status=1, ipAttribution=), GetPortalCommentsPageByObjectIdResponse(id=36492, encodeId=fea2364929e, content=需要学习, beContent=null, objectType=article, channel=null, level=null, likeNumber=92, replyNumber=0, topicName=null, topicId=null, topicList=[], attachment=null, authenticateStatus=null, createdAvatar=http://thirdwx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTJUNfdk68bHutYruGyxbKDzPWH3agcmId19Yf94FiapyicN0LTg0jykhqIhjPQVdR08FGR399rBpZIg/132, createdBy=feae1624323, createdName=Dr.LV, createdTime=Tue Sep 08 22:36:00 CST 2015, time=2015-09-08, status=1, ipAttribution=)]
    2015-09-09 Chaddock

    有难度

    0

  5. [GetPortalCommentsPageByObjectIdResponse(id=2045248, encodeId=e5b6204524819, content=<a href='/topic/show?id=99465e75960' target=_blank style='color:#2F92EE;'>#数据科学#</a>, beContent=null, objectType=article, channel=null, level=null, likeNumber=36, replyNumber=0, topicName=null, topicId=null, topicList=[TopicDto(id=57759, encryptionId=99465e75960, topicName=数据科学)], attachment=null, authenticateStatus=null, createdAvatar=, createdBy=8e4c53, createdName=jiyangfei, createdTime=Mon Nov 23 06:53:00 CST 2015, time=2015-11-23, status=1, ipAttribution=), GetPortalCommentsPageByObjectIdResponse(id=1465999, encodeId=b6331465999d2, content=<a href='/topic/show?id=217c292009' target=_blank style='color:#2F92EE;'>#ATA#</a>, beContent=null, objectType=article, channel=null, level=null, likeNumber=38, replyNumber=0, topicName=null, topicId=null, topicList=[TopicDto(id=2920, encryptionId=217c292009, topicName=ATA)], attachment=null, authenticateStatus=null, createdAvatar=, createdBy=387a6772119, createdName=bbjsj_1981, createdTime=Thu Sep 10 12:53:00 CST 2015, time=2015-09-10, status=1, ipAttribution=), GetPortalCommentsPageByObjectIdResponse(id=36535, encodeId=72573653583, content=好东西, beContent=null, objectType=article, channel=null, level=null, likeNumber=109, replyNumber=0, topicName=null, topicId=null, topicList=[], attachment=null, authenticateStatus=null, createdAvatar=, createdBy=4b531630898, createdName=pine007, createdTime=Wed Sep 09 10:49:00 CST 2015, time=2015-09-09, status=1, ipAttribution=), GetPortalCommentsPageByObjectIdResponse(id=36523, encodeId=6a3e36523c8, content=有难度, beContent=null, objectType=article, channel=null, level=null, likeNumber=129, replyNumber=0, topicName=null, topicId=null, topicList=[], attachment=null, authenticateStatus=null, createdAvatar=http://thirdwx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTJq24S8KnicnAUEiaRzaqs5dFnXy36sdRT01oLMib3Ojktwan5aAACTkpYXGpUQPibPIjqYWmP8QriaQAw/132, createdBy=81c71616628, createdName=Chaddock, createdTime=Wed Sep 09 07:07:00 CST 2015, time=2015-09-09, status=1, ipAttribution=), GetPortalCommentsPageByObjectIdResponse(id=36492, encodeId=fea2364929e, content=需要学习, beContent=null, objectType=article, channel=null, level=null, likeNumber=92, replyNumber=0, topicName=null, topicId=null, topicList=[], attachment=null, authenticateStatus=null, createdAvatar=http://thirdwx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTJUNfdk68bHutYruGyxbKDzPWH3agcmId19Yf94FiapyicN0LTg0jykhqIhjPQVdR08FGR399rBpZIg/132, createdBy=feae1624323, createdName=Dr.LV, createdTime=Tue Sep 08 22:36:00 CST 2015, time=2015-09-08, status=1, ipAttribution=)]
    2015-09-08 Dr.LV

    需要学习

    0

相关资讯

响应“精准医疗” FDA要建立基因大数据共享平台!

随着奥巴马政府精准医学计划的提出,个性化诊断、基因测序等概念又一次变得炙手可热。然而,随着技术的日趋成熟,众多检测方法对FDA提出了尽快适应形势的要求。为了与精准医学计划相呼应,FDA计划建立一个名为“精准FDA”(precisionFDA)平台。最近,著名的生物信息学公司DNAnexus公司与FDA签订了第一份合作协议,可被看做是向前迈出了重要一步。尽管这次协议涉及的金额可以说是少的可怜,仅为

医疗大数据时代,知情同意怎么办?

5月下旬,马云、马化腾、雷军、周鸿祎等互联网巨头齐聚贵州,参加“2015年贵阳国际大数据产业博览会暨全球大数据时代贵阳峰会”,李克强总理发去贺信,马凯副总理到场发表演讲。会上,周鸿祎提出了“大数据的伦理和道德问题”。他指出了三点:1. 用户数据的所有权归用户;2. 用户在知情同意的基础上,用自己的数据换取企业或政府的服务;3. 存储数据的主题对数据安全负责。知情同意,在医疗领域不是一个新鲜的词。但

大数据分析面临的机遇与挑战

    800个(红色)和6400个(蓝色)独立的标准正态分布中,第1个与其余4个变量的最大相关系数的统计分布(n=60)。观察可知,假相关系数相当大。大数据分析给现代社会带来了新的机遇与挑战。一方面,与传统研究侧重于揭示事物的共性不同,大数据研究将有助于人们发现事物的个体特性,并针对每一个体的特性给出个体化的解决方案。同时,大数据研究也将使人们能够从大量个体的差异变

中国3年内建政府大数据开放平台,涵盖医疗卫生领域(附《促进大数据发展行动纲要》)

国务院近日发布《促进大数据发展行动纲要》,《纲要》明确,2018年底前建成国家政府数据统一开放平台,率先在信用、交通、医疗等重要领域实现公共数据资源合理适度向社会开放。《纲要》明确,立足我国国情和现实需要,推动大数据发展和应用在未来5—10年逐步实现以下目标:打造精准治理、多方协作的社会治理新模式。将大数据作为提升政府治理能力的重要手段,通过高效采集、有效整合、深化应用政府数据和社会数据,提升政府

大数据协作与对慢性疾病的管理

近日,来自杜克-新加坡国立大学医学院和全球远程健康平台Holmusk近日宣布了一项关于潜在的医疗保健领域大数据的合作,大数据就意味着大型的无社会组织及多样化的数据库,这些数据库并不能利用常规的方法来进行利用和管理,而在医疗保健领域,大数据及其分析可以帮助研究者们发现一些未知的信息,从而使得我们可以对疾病进行预测,进而改善患者的生活质量及花费。 这项合作旨在寻找改善糖尿病及精神健康管理的方法,研究

大数据时代,美国医院评价给国内智慧医疗的几点启发

更精确的数据采集和应用,更立体的医院评价体系,更明确的患者导向,是大数据时代美国医院评价带给中国的鲜活启示。 2015年7月21日,《美国新闻与世界报道》公布了美国2015-2016年最佳医院排名。紧随其后的7月22日,由中国医学科学院、中国研究型医院学会主办的现代化医院评价与评估高峰论坛举行,国家卫计委医疗管理服务指导中心主任赵明钢指出,中国将基于数据,科学、规范和准确地建立全国医疗机