For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
Hadoop是程序员在学习大数据技术应用的时候需要重点掌握的一个工具,下面我们就通过案例分析来了解一下,Hadoop数据存储注意方法分享。
Hadoop本质上是一个单体分布式存储和计算平台。它由多个节点和服务器组成,每个节点都有自己的存储、CPU和内存。任务被分配到所有这些节点。通过YARN来实现资源管理,它力图确保工作负载能够获得其计算份额。
Hadoop也包括元数据信息。有一个Hive元存储,它包含了存储在HDFS中的资产的结构化信息。你可以使用Sentry或Ranger来控制对数据的访问。从数据访问的角度来看,用户和应用程序可以直接通过HDFS(或相应的CLI/API)或通过SQL类型的接口访问数据。另外,SQL接口可以通过JDBC/ODBC连接,使用Hive来执行通用SQL(或在某些情况下使用ETL脚本),或者在Impala或Tez上使用Hive进行交互式查询。Hadoop还提供了一个HBaseAPI和相关的数据源服务。
在Databricks中,先要注意的一个区别是,你在Databricks环境中看到的是多个集群。每个集群可以用于特定的用例、特定的项目、业务部门、团队或开发小组。更重要的是,这些集群都是短暂的。对于作业集群来说,集群的存在时间可以在工作流程的持续期间保持。这将执行工作流程,并且在完成后,环境将自动拆毁。同样,如果你考虑一个交互式用例,即你有一个可供开发者共享的计算环境,这样的环境可以在工作日开始,并且开发者全天运行他们的代码。在非活动期间,Databricks会通过平台内置的(可配置的)自动终止功能自动关闭它。
不同于Hadoop,Databricks并不提供诸如HBase或SOLR那样的数据存储服务。你的数据驻留在对象存储中的文件存储。许多类似HBase或SOLR这样的服务都可以在云中找到与之相当的替代品。这可以是云原生或ISV解决方案。
Databricks中的每个集群节点都对应于Spark驱动或工作器。关键在于,不同的Databricks集群彼此完全隔离,这样,你就可以确保在特定的项目和用例中符合严格的SLA。你可以将流媒体或实时用例与其他以批处理为导向的工作负载隔离,并且你不必担心手工隔离可能会占用集群资源的长期运行作业。你只需要为不同的用例派生新的集群作为计算。Databricks还将存储与计算解耦,使你能够利用现有的云存储,如AWSS3、AzureBlobStorage和AzureDataLakeStore(ADLS)。
Databricks也有一个默认的管理型Hive元存储,用于存储驻留在云存储中的数据资产的结构化信息。同时,它也支持外部元存储,比如AWSGlue、AzureSQLServer或AzurePurview。你还可以在Databricks内指定安全控制,如表ACL,以及对象存储权限。
当涉及到数据访问时,Databricks提供了类似于Hadoop的功能,它可以处理用户如何处理数据。你可以通过Databricks环境中多种路径访问存储在云存储的数据。使用SQLEndpoints和DatabricksSQL,用户可以进行交互式查询和分析。他们也可以使用Databricks笔记本对存储在云存储中的数据进行数据工程和机器学习功能。Hadoop中的HBase映射到AzureCosmosDB,或AWSDynamoDB/Keyspaces,可以作为下游应用的服务层加以利用。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。