大數(shù)據(jù)學(xué)習(xí)筆記500條【第二彈】,記得收藏磷脯!

501. MapReduce計(jì)算框架中的輸入和輸出的基本數(shù)據(jù)結(jié)構(gòu)是鍵-值對(duì)蛾找。

502. Hadoop神奇的一部分在于sort和shuffle過(guò)程。

503. Hive驅(qū)動(dòng)計(jì)算的“語(yǔ)言”是一XML形式編碼的赵誓。

504. Hive通過(guò)和Jobtracker通信來(lái)初始化MapReduce任務(wù)(Job)打毛。

505. Metastore(元數(shù)據(jù)存儲(chǔ))是一個(gè)獨(dú)立的關(guān)系型數(shù)據(jù)庫(kù)。

506. Pig常用于ETL(數(shù)據(jù)抽取俩功、數(shù)據(jù)轉(zhuǎn)換隘冲、數(shù)據(jù)裝載)。

507. Hadoop團(tuán)隊(duì)通常會(huì)將Hive和Pig結(jié)合使用绑雄。

【大數(shù)據(jù)開(kāi)發(fā)學(xué)習(xí)資料領(lǐng)取方式】:加入大數(shù)據(jù)技術(shù)學(xué)習(xí)交流群522189307,點(diǎn)擊加入群聊奥邮,私信管理員即可免費(fèi)領(lǐng)取

508. Hive無(wú)法提供數(shù)據(jù)庫(kù)特性(如行級(jí)別更新万牺,快速查詢響應(yīng)和支持事務(wù))罗珍。

509. HBase的設(shè)計(jì)靈感來(lái)自goole的bigTable。

510. HBase面向列存儲(chǔ)脚粟,列組成列族覆旱。

511. HBase對(duì)每個(gè)列保留多個(gè)版本。

512. HBase使用HDFS來(lái)持久化存儲(chǔ)數(shù)據(jù)核无。

513. 將程序設(shè)計(jì)成驅(qū)動(dòng)扣唱,比較方便移植。

514. HBase沒(méi)有提供SQL語(yǔ)言团南。

515. Hadoop面向批處理系統(tǒng)噪沙。

516. CLI是我們使用Hive的最常用方式。

517. Jobtracker管理著Job吐根,而HDFS則由namenode管理正歼。

518. 元數(shù)據(jù)存儲(chǔ)中存儲(chǔ)了表的模式和分區(qū)信息等元數(shù)據(jù)。

519. Hive會(huì)將輸出寫到標(biāo)準(zhǔn)輸出中拷橘。

520. –e執(zhí)行字符串包含的命令局义。

521. –s去掉ok。

522. –f執(zhí)行文件冗疮。

523. 如果查詢中的表名和這個(gè)例子并不相關(guān)萄唇,我們有時(shí)候會(huì)使用src。

524. 用戶可以使用上下鍵來(lái)滾動(dòng)查詢歷史命令术幔。

525. 用另萤!執(zhí)行bash shell命令。

526. Hive Cli 可執(zhí)行Hadoop的dfs命令特愿。

527. Hive本身提供了不同時(shí)區(qū)互相轉(zhuǎn)換的內(nèi)置函數(shù)仲墨。

528. Hive中的列支持使用strct、map和arry集合數(shù)據(jù)類型揍障。

529. Hive中并沒(méi)有鍵的概念目养。

530. Hive不會(huì)再數(shù)據(jù)加載時(shí)進(jìn)行驗(yàn)證,而是在查詢時(shí)進(jìn)行毒嫡。

531. Hive中數(shù)據(jù)庫(kù)的概念本質(zhì)上僅僅是表的一個(gè)目錄式命名空間癌蚁。

532. Hive會(huì)為每個(gè)數(shù)據(jù)接庫(kù)創(chuàng)建一個(gè)目錄。

533. 數(shù)據(jù)庫(kù)的文件目錄名是以.db結(jié)尾兜畸。

534. Hive中并沒(méi)有嵌套數(shù)據(jù)庫(kù)的概念努释。

535. Hive不允許用戶刪除一個(gè)包含有表的數(shù)據(jù)庫(kù)龄章。

536. Hive會(huì)自動(dòng)增加兩個(gè)表屬性:last_modified_by|last_modified_time蔑穴。

537. Hive總是將創(chuàng)建的表的目錄放置在這個(gè)所屬的數(shù)據(jù)庫(kù)目錄之后。

538. Show tables命令可以列舉出所有的表拆吆。

539. 管理表(內(nèi)布表)不方便和其他工作共享數(shù)據(jù)肛鹏。

540. Exte Nal告訴Hive這個(gè)表示外部表逸邦。

541. Location 告訴Hive數(shù)據(jù)位于哪個(gè)路徑下恩沛。

542. 因?yàn)楸硎就獠康模訦ive并非人為其完全擁有這份數(shù)據(jù)缕减。

543. 有些Hive QL并不使用外部表雷客。

544. 分區(qū)字段,表現(xiàn)得舊和普通的字段一樣桥狡。

545. 對(duì)數(shù)據(jù)進(jìn)行分區(qū)搅裙,也許最重要的原因是為了更快地查詢。

546. 通過(guò)show partitions命令查看表中存在的所有分區(qū)裹芝。

547. Hive沒(méi)有行級(jí)操作部逮。

548. Hive通常指定的路徑應(yīng)該是一個(gè)目錄,而不是單獨(dú)的文件局雄。

549. Hive要求源文件和目標(biāo)文件以及目錄應(yīng)該在同一個(gè)文件系統(tǒng)中甥啄。

550. 指定overwrite關(guān)鍵字,目標(biāo)文件之前存在的會(huì)被刪除炬搭。

551. Hive并不會(huì)驗(yàn)證用戶裝載的數(shù)據(jù)和表的模式是否匹配蜈漓。

552. Hive會(huì)驗(yàn)證文件格式是否和表結(jié)構(gòu)定義的一致。

553. INSERT語(yǔ)句允許用戶通過(guò)查詢語(yǔ)句向目標(biāo)表中插入數(shù)據(jù)宫盔。

554. 靜態(tài)分區(qū)鍵必須出現(xiàn)在動(dòng)態(tài)分區(qū)鍵之前融虽。

555. Hive中沒(méi)有臨時(shí)表的概念。

556. Select是sql中的射影算子灼芭。

557. 可用正則來(lái)選舉我們想要的列有额。

558. Float和double相比較會(huì)出現(xiàn)問(wèn)題。

559. RLike可用正則指定匹配條件彼绷。

560. Hive目前不支持on中的or巍佑。

561. 視圖可以允許保存一個(gè)查詢并像對(duì)待表一樣對(duì)這查詢進(jìn)行操作。

562. Hive值有有限的索引功能寄悯。

563. Bitmap索引普遍應(yīng)用于排重后值較少的列萤衰。

564. Hive中分區(qū)的功能是非常有用的。

565. 每個(gè)task都是一個(gè)新的Jvm實(shí)例猜旬,都需要開(kāi)啟和銷毀的開(kāi)銷脆栋。

566. 分區(qū)提供一個(gè)隔離數(shù)據(jù)和優(yōu)化查詢的便遍歷的方式。

567. 分桶是將數(shù)據(jù)集分解或更容易管理的若干部分的另一種技術(shù)洒擦。

568. Hive提供了serde抽象椿争,其用于從輸入中提取數(shù)據(jù)。

569. 一個(gè)serDe通常是從左向右進(jìn)行解析的熟嫩。

570. Hive提供了一個(gè)列式SerDe來(lái)以混合列式格式存儲(chǔ)信息秦踪。

571. Hive中通常使用“UDF”來(lái)表示任意的函數(shù)(用戶自定義函數(shù))。

572. Streaming提供了另一種處理數(shù)據(jù)的方式。

573. Hive中文件格式間具有明顯的差異洋侨。

574. Hive文本文件格式選擇和記錄格式是對(duì)應(yīng)的舍扰。

575. SequenceFile可以在塊級(jí)別和記錄級(jí)別進(jìn)行壓縮。

576. 對(duì)于列式存儲(chǔ)而言希坚,進(jìn)行壓縮通常會(huì)非常高效。

577. Hive功能強(qiáng)大的一個(gè)方面體現(xiàn)在不同的存儲(chǔ)格式間轉(zhuǎn)換數(shù)據(jù)非常地簡(jiǎn)單陵且。

578. SerD是序列化/反序列化的簡(jiǎn)寫形式裁僧。

579. Hive引擎使用定義的InputFormat來(lái)讀取一行數(shù)據(jù)記錄。

580. Thrift是一個(gè)軟件框架慕购,其用于跨語(yǔ)言的服務(wù)開(kāi)發(fā)聊疲。

581. HiveServer使用Thrift提供服務(wù)。

582. 存儲(chǔ)處理程序是一個(gè)結(jié)合InputFormat沪悲、OutPutFormat获洲、SerDe和Hive需要使用的特定的代碼。

583. 存儲(chǔ)處理程序負(fù)責(zé)從底層存儲(chǔ)系統(tǒng)中讀取或?qū)懭霐?shù)據(jù)殿如。

584. Hadoop起源于Apache Nutch的子項(xiàng)目贡珊。

585. HBase彌補(bǔ)了Hadoop只能離線批處理的不足。

586. HBase能夠存儲(chǔ)小文件涉馁,提供海量數(shù)據(jù)的隨機(jī)檢查门岔。

587. 大數(shù)據(jù)強(qiáng)調(diào)3v特征:即Volume(量級(jí))、Varity(種類)和Velocity(速度)烤送。

588. 結(jié)構(gòu)優(yōu)化寒随,質(zhì)量提高,是一種實(shí)現(xiàn)實(shí)質(zhì)性的跨越式的進(jìn)程帮坚。

589. NoSQL是Not only SQL妻往,泛指非關(guān)系型數(shù)據(jù)庫(kù)。

590. NoSQL的實(shí)現(xiàn)具有兩個(gè)特征:使用硬盤和把隨機(jī)存儲(chǔ)器作存儲(chǔ)載體试和。

591. NoSQL的Cache是記錄級(jí)的讯泣,是一種粗粒度的Cache。

592. NoSQL無(wú)須事先為要存儲(chǔ)的數(shù)據(jù)建立字段灰署,隨時(shí)可以存儲(chǔ)自定義的數(shù)據(jù)格式判帮。

593. HBase是一個(gè)高可靠、高性能溉箕、面向列晦墙、可伸縮的分布式數(shù)據(jù)庫(kù)。

594. HBase是NoSQL數(shù)據(jù)庫(kù)肴茄。

595. HBase可以通過(guò)行缴纬(RowKey)檢索數(shù)據(jù),僅支持單行事務(wù)寡痰,主要用于存儲(chǔ)非結(jié)構(gòu)化和半結(jié)構(gòu)化的松散數(shù)據(jù)抗楔。

596. HBase的單表可以有百億行棋凳,百萬(wàn)列。

597. HBase是面向列的存儲(chǔ)和權(quán)限控制连躏,并支持列獨(dú)立檢索剩岳。

598. HBase嚴(yán)重依賴Hadoop的HDFS組件。

599. MapReduce可以直接訪問(wèn)HBase入热。

600. HBase中最重要的訪問(wèn)方式是原生Java API拍棕。

601. 客戶端Client是整個(gè)HBase系統(tǒng)的入口。

602. HMaster主要負(fù)責(zé)Table和Region的管理工作勺良。

603. HRegionServer主要負(fù)責(zé)響應(yīng)用戶I/O請(qǐng)求绰播。

604. HStore存儲(chǔ)是HBase存儲(chǔ)的核心。

605. HStore兩部分:Memstore和StoreFile尚困。

606. 當(dāng)StoreFile文件增長(zhǎng)到一定閥值蠢箩,會(huì)觸發(fā)CompCut。

607. HBase的同一個(gè)表的記錄可以有不一樣的列事甜。

608. HBase中最基本的單元是列谬泌。

609. 每一個(gè)行的行健是唯一的。

610. HBase中的表有若干行讳侨,每行有很多列呵萨,列中的值有多個(gè)版本,每個(gè)版本的值稱為一個(gè)單元格跨跨,單元格存不同的列值潮峦。

611. HBase稱為無(wú)模式數(shù)據(jù)庫(kù)的原因是HBase的表沒(méi)有列定義,沒(méi)有類型勇婴。

612. 創(chuàng)建連接是一項(xiàng)非常消耗資源的工作忱嘹。

613. HBase為我們提供了一個(gè)連接池。

614. 行鍵是按字段排序由低到高存儲(chǔ)在表中耕渴。

615. HBase中行鍵是唯一的索引拘悦。

616. HBase中的列族是一些列的集合。

617. 一個(gè)列族中所有列成員有著相同的前綴橱脸。

618. 一個(gè)列族的成員在文件系統(tǒng)上都是存儲(chǔ)在一起的础米。

619. 在創(chuàng)建表的時(shí)候至少指定一個(gè)列族。

620. 修改列族要先停用表添诉。

621. HBase中的單元格由行鍵屁桑、列族、列栏赴、時(shí)間戳唯一確定蘑斧。

622. 單元格的內(nèi)容是不可分別的字節(jié)數(shù)組。

623. 每個(gè)單元格都保存著同一份數(shù)據(jù)的多個(gè)版本。

624. 時(shí)間戳是64位的整數(shù)竖瘾。

625. HBase對(duì)數(shù)據(jù)模型4個(gè)操作包括:Get沟突、Put、Scan和Delete捕传。

626. 多用戶多線程對(duì)統(tǒng)一行的讀寫操作都不會(huì)影響該行數(shù)據(jù)的原子性惠拭。

627. Get方法獲取數(shù)據(jù)時(shí),HBase返回的結(jié)果包含所有匹配的單元格數(shù)據(jù)庸论。

628. Result實(shí)例中包含列族求橄、列限定符和時(shí)間戳等。

629. Put操作要么向表增加新行葡公,要么更新行。

630. Put操作每次都會(huì)發(fā)起一次到服務(wù)器的RPC操作条霜。

631. HBase客戶端有一個(gè)緩沖區(qū)催什,大大提高寫入性能。

632. HBase提供compare-and-set先檢查宰睡,再執(zhí)行蒲凶。

633. HBase沒(méi)有update操作。

634. Scan操作允許多行特定屬性迭代拆内。

635. HBase的Delete操作可以指定刪除某個(gè)列族或者某個(gè)列旋圆,或某時(shí)間更早的數(shù)據(jù)。

636. HBase的Delete操作并不是真正地從磁盤刪除數(shù)據(jù)麸恍。

637. RowKey灵巧、Column、Version組合在一起稱為HBase的一個(gè)單元格抹沪。

638. Version用一個(gè)長(zhǎng)整型表示(時(shí)間)刻肄。

639. Get是在Scan的基礎(chǔ)上實(shí)現(xiàn)的。

640. 一個(gè)put操作會(huì)為一個(gè)Cell創(chuàng)建一個(gè)版本融欧,默認(rèn)使用當(dāng)前時(shí)間戳敏弃。

641. 刪除操作的實(shí)現(xiàn)是創(chuàng)建一個(gè)墓碑標(biāo)記。

642. Get和Scan操作返回的是經(jīng)過(guò)排序的數(shù)據(jù)噪馏。

643. 返回的數(shù)據(jù)首選按行字典序排序麦到,其次是列族、然后是列修飾符欠肾,最后的時(shí)間戳逆序瓶颠。

644. 獲取列族的完整列名的唯一方法是處理所有行。

645. HBase不支持連接查詢董济,即Join查詢步清。

646. ICV(HBase計(jì)數(shù)器)操作發(fā)送在RegionServer上。

647. 事務(wù)特性ACID,如HBase這種NoSQL數(shù)據(jù)庫(kù)僅提供對(duì)行級(jí)別的原子性廓啊。

648. HBase不是一個(gè)具備完整ACID特性的數(shù)據(jù)庫(kù)欢搜。

649. HBase中一個(gè)表的數(shù)據(jù)會(huì)被劃分成很多的Region。

650. 剛剛穿件的表只有一個(gè)Region谴轮。

651. 每一個(gè)Region由一個(gè)RegionServer管理炒瘟。

652. 每個(gè)Region包含起始RowKey的記錄,不包含結(jié)束RowKey的記錄第步。

653. Region的拆分與轉(zhuǎn)移是由HBase自動(dòng)完成疮装。

654. CAP原理是數(shù)據(jù)庫(kù)軟件的理論基礎(chǔ)。

655. HBase為了擴(kuò)展性和性能考慮粘都,弱化了事務(wù)性廓推。

656. RowKey是不可分割的字節(jié)數(shù),按字典排序由低到高存儲(chǔ)在表中翩隧。

657. RowKey決定了訪問(wèn)HBase表時(shí)可以得到的性能樊展。

658. Region基于Rowkey為一個(gè)區(qū)間的行提供服務(wù)。

659. Hfile在硬盤上存儲(chǔ)有序的行堆生。

660. HBase只能在RowKey上建立索引专缠。

661. RowKey優(yōu)化:

1. 字典排序

2. 進(jìn)行散列

3. 盡量短

662. 列族是一些列的集合。

663. 一個(gè)列族的所有列成員有著相同的前綴淑仆。

664. 列族的前綴必須是可輸出的字符涝婉。

665. 列族必須在表建立的時(shí)候聲明,列在用戶隨時(shí)可以創(chuàng)建蔗怠。

666. 在物理上墩弯,一個(gè)列族的成員在文件系統(tǒng)上都存儲(chǔ)在一起。

667. Flush和Compaction操作式針對(duì)一個(gè)Region的蟀淮。

668. 考慮Flush性能最住,列族數(shù)量越少越好。

669. HFile數(shù)據(jù)塊大小可以在列族層次設(shè)置怠惶。

670. 數(shù)據(jù)塊索引存儲(chǔ)每個(gè)HFile數(shù)據(jù)塊的起始鍵涨缚。

671. 布隆過(guò)濾器(Bloom Filter)允許對(duì)存儲(chǔ)在每個(gè)數(shù)據(jù)塊的數(shù)據(jù)做一個(gè)反向測(cè)驗(yàn)。

672. HFile可以被壓縮并存放在HDFS上策治。

673. HBase的每個(gè)單元格只維護(hù)三個(gè)時(shí)間版本脓魏。

674. CRUD操作式HTable最基本的功能,其中的每類方法都包含多種實(shí)現(xiàn)通惫。

675. Java客戶端有兩種查詢數(shù)據(jù)的方式:?jiǎn)涡凶x和掃描讀茂翔。

676. 每類操作的不同實(shí)現(xiàn)方法應(yīng)用在不同的場(chǎng)景下。

677. HBaseAdmin類是HBase數(shù)據(jù)庫(kù)的管理入口類履腋。

678. Scan類中的主要實(shí)現(xiàn)方法可以劃分成三類:

1. 添加列或列族

2. 設(shè)置查詢屬性

3. 查看屬性信息

679. 整個(gè)刪除過(guò)程分為三步:

1. 初始化Table實(shí)例

2. 構(gòu)造實(shí)體類Delete珊燎,Delete封裝行鍵惭嚣、列族或列名

3. 執(zhí)行刪除

680. HBase提供了若干封裝類用于“無(wú)縫”連接MapReduce。

681. 從HBase表匯總讀取數(shù)據(jù)悔政,使用MapReduce計(jì)算完成之后晚吞,將數(shù)據(jù)存儲(chǔ)到其他介質(zhì)中。

682. NoSQL不使用SQL作為查詢語(yǔ)言谋国。

683. 創(chuàng)建外部表適用于某表HBase已經(jīng)存在槽地,但在Hive中沒(méi)有相關(guān)信息。

684. 字符串類型是Redis中最基本的數(shù)據(jù)類型芦瘾。

685. 所有Redis命令都是原子操作捌蚊。

686. Redis提供了4個(gè)命令可以直接對(duì)二進(jìn)制位進(jìn)行操作。

687. Redis是采用字典結(jié)構(gòu)以鍵值對(duì)的形式存儲(chǔ)數(shù)據(jù)的近弟。

688. 一個(gè)散列類型鍵可以包含至多2的32次方減去1個(gè)字段缅糟。

689. 散列類型適合存儲(chǔ)對(duì)象。

690. 大數(shù)據(jù)所面對(duì)的問(wèn)題是:一是存儲(chǔ)祷愉,二是計(jì)算溺拱。

691. 大數(shù)據(jù)的定義是發(fā)現(xiàn)潛在規(guī)律和趨勢(shì)。

692. 谷歌三大論文:1)GFS谣辞、2)MapReduce、3)BigTable沐扳。

693. Hadoop是一個(gè)批處理系統(tǒng)泥从,不擅長(zhǎng)實(shí)時(shí)計(jì)算。

694. YARN是通用的資源管理系統(tǒng)沪摄。

695. 機(jī)器學(xué)習(xí)算法通常需要對(duì)同一個(gè)數(shù)據(jù)集合進(jìn)行多次迭代計(jì)算躯嫉。

696. RDD彈性分布式數(shù)據(jù)集(Resillient Distributed DataSet)。

697. Spark支持檢查點(diǎn)(checkpoint)的容錯(cuò)機(jī)制杨拐。

698. RDD支持的方法:

1. 轉(zhuǎn)換(Traansformation) ——生產(chǎn)新的RDD

2. 動(dòng)作(Action)? ? ? ? ?——返回一個(gè)非RDD

699. Spark沒(méi)有存儲(chǔ)能力祈餐,僅做數(shù)據(jù)倉(cāng)庫(kù)。

700. MapReduce依附于Yarn來(lái)運(yùn)行哄陶。

701. Zookeeper的節(jié)點(diǎn)必須是奇數(shù)個(gè)帆阳。

702. Standalone模式下,集群可以容許某一個(gè)或多個(gè)工作節(jié)點(diǎn)失效屋吨。

703. Hadoop:HDFS蜒谤、MapReduce、YARN至扰。

704. Spark可以單獨(dú)使用HDFS或YARN鳍徽。

705. 由YARN統(tǒng)一負(fù)載分配資源科避免分配混亂。

706. Spark程序由master還是YARN來(lái)調(diào)度執(zhí)行敢课,是由spark程序在提交時(shí)決定的阶祭。

707. 只有在交互需求是才使用yarn-client方式绷杜。

708. 切片,本地模式默認(rèn)去CPU的核算濒募。

709. 每個(gè)Job的執(zhí)行鞭盟,都會(huì)經(jīng)歷序列化,網(wǎng)絡(luò)傳輸萨咳,反序列化和運(yùn)行的過(guò)程懊缺。

710. 在序列化是,spark會(huì)將Job運(yùn)行所依賴的變量培他、方法(稱為閉包)全部打包在一起鹃两。

711. 如果RDD多次迭代,可將其持久化舀凛。

712. 在Zookeeper模式下俊扳,恢復(fù)期間新任務(wù)無(wú)法提交。

713. RDD特點(diǎn):1)只讀猛遍、2)可緩存馋记、3)可以通過(guò)重新計(jì)算得到。

714. Kafk是一個(gè)分布式懊烤、分區(qū)梯醒、重復(fù)提交的日志服務(wù)。

715. Kafka掌管的類別消息叫做主題(topics)腌紧。

716. 生產(chǎn)者發(fā)布消息到kafka主題中茸习。

717. 消費(fèi)者訂閱主題以及處理發(fā)布的消息。

718. Kafka每個(gè)服務(wù)器叫做broker壁肋。

719. 主題是一個(gè)類別或者被發(fā)布消息的名稱号胚。

720. Kafka集群根據(jù)時(shí)間保留消息,而不是是否被消費(fèi)浸遗。

721. 消費(fèi)者可以隨時(shí)添加和移除猫胁。

722. 生產(chǎn)者發(fā)布數(shù)據(jù)到他們選定的主題上。

723. 消費(fèi)者跛锌、消息處理通常有兩種模式弃秆。:隊(duì)列和發(fā)布-訂閱。

724. 在隊(duì)列模式中髓帽,一組消費(fèi)者可能從服務(wù)器讀取消息驾茴,每個(gè)消息被其中一個(gè)消費(fèi)者消費(fèi)。

725. 在發(fā)布-訂閱模式中:消費(fèi)者是廣播到全部的消費(fèi)者中氢卡。

726. 消費(fèi)者用一個(gè)消費(fèi)組名稱來(lái)標(biāo)識(shí)自己锈至。

727. Kafka能夠提供順序保證并在一組消費(fèi)者處理過(guò)程中均衡負(fù)載。

728. Kafka可以替換傳統(tǒng)的消息代理译秦。

729. Kafka可以媲美傳統(tǒng)的消息系統(tǒng)例如:ActiveMQ和RabitMQ峡捡。

730. Kafka通常用于操作監(jiān)測(cè)數(shù)據(jù)的處理击碗。

731. Kafka作為日志聚合的一種解決方案。

732. Zookeeper典型應(yīng)用場(chǎng)景:配置文件的管理们拙,集群管理稍途,分布式隊(duì)列,同步鎖leader選舉砚婆,隊(duì)列管理等械拍。

733. Zookeeper是分布式服務(wù)框架。

734. dataMonitor類是本程序Zookeeper邏輯的核心装盯。

735. Zookeeper是一個(gè)基于觀察者模式設(shè)計(jì)的分布式服務(wù)管理框架坷虑。

736. 分布式應(yīng)用中通常需要有一套完整的命名規(guī)則。

737. Netty高性能的NIO框架埂奈。

738. Netty快速開(kāi)發(fā)高性能迄损,高可靠性的網(wǎng)絡(luò)服務(wù)器和客戶端程序。

739. Netty是一個(gè)網(wǎng)絡(luò)通信框架账磺。

740. NIO是一個(gè)面向塊的I/O系統(tǒng)芹敌。

741. NIO核心對(duì)象:緩沖區(qū)(Buffer),通道(Channel)垮抗,選擇器(Selecter)氏捞。

742. 在NIO庫(kù)中,所有數(shù)據(jù)都是用緩沖處理的冒版。

743. Netty是事件驅(qū)動(dòng)的幌衣。

744. Git是一個(gè)開(kāi)源的分布式版本控制系統(tǒng)。

745. Kafka系統(tǒng)的角色:

1. Borker:一臺(tái)kafka服務(wù)器就是一個(gè)broker壤玫。

2. Topic:可以理解為一個(gè)MQ消息隊(duì)列的名字。

746. Java程序設(shè)計(jì)語(yǔ)言哼凯、虛擬機(jī)欲间、API類庫(kù)統(tǒng)稱JDK。

747. Jdk是用于支持Java程序開(kāi)發(fā)的最小環(huán)境断部。

748. JRE是支持Java程序運(yùn)行的標(biāo)準(zhǔn)環(huán)境猎贴。

749. Java技術(shù)體系可分為4個(gè)平臺(tái):Java Card、Me蝴光、Se她渴、EE。

750. Hadoop每個(gè)切片構(gòu)建一個(gè)map任務(wù)蔑祟。

751. Map輸出是中間結(jié)果趁耗,reduce產(chǎn)出最終輸出結(jié)果。

752. 集群上的帶寬限制了MapReduce的作業(yè)的數(shù)量疆虚。

753. HDFS中fsck指令可以顯示塊信息苛败。

754. Namenode之間需要通過(guò)高可用的共享存儲(chǔ)實(shí)現(xiàn)編輯日志的共享满葛。

755. Datanode需要同時(shí)向連個(gè)namenode發(fā)送數(shù)據(jù)塊處理報(bào)告。

756. 超級(jí)用戶是namenode進(jìn)程的標(biāo)識(shí)罢屈。

757. Seek()方法是一個(gè)相對(duì)高開(kāi)銷的操作嘀韧。

758. FileSystem是一個(gè)通用的文件系統(tǒng)Api。

759. HDFS只允許對(duì)一個(gè)打開(kāi)的文件順序?qū)懭氩疲蛘咴诂F(xiàn)有文件的末尾追加數(shù)據(jù)锄贷。

760. FileStatus封裝了文件系統(tǒng)中問(wèn)價(jià)和目錄的元數(shù)據(jù)。

761. 過(guò)濾器有path表示曼月,只能作用域文件名谊却。

762. Hadoop無(wú)法自行第一網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。

763. DFSoutputstream將寫入分成一個(gè)個(gè)的數(shù)據(jù)包十嘿,并寫入內(nèi)部隊(duì)列因惭,稱為“數(shù)據(jù)隊(duì)列”。

764. 文件系統(tǒng)的一致模型描述了文件讀/寫的數(shù)據(jù)可見(jiàn)性绩衷。

765. HDFS為性能犧牲了一些Posix要求(可移植操作系統(tǒng)接口)蹦魔。

766. HDFS提供一個(gè)方法來(lái)使所有緩存與數(shù)據(jù)節(jié)點(diǎn)強(qiáng)行同步。

767. Flume是一個(gè)將大規(guī)模流數(shù)據(jù)導(dǎo)入HDFS的工具咳燕。

768. Flume節(jié)點(diǎn)允許以任何拓?fù)浞绞竭M(jìn)行組織勿决。

769. 當(dāng)一個(gè)字段中包含多個(gè)類型時(shí),ObjectWritable非常有用招盲。

770. Avro是一個(gè)獨(dú)立于編程語(yǔ)言的數(shù)據(jù)序列化系統(tǒng)低缩。

771. Avro模式通常用Json來(lái)寫,數(shù)據(jù)通常采用二進(jìn)制格式來(lái)編碼曹货。

772. Avro數(shù)據(jù)文件時(shí)可切分的咆繁,適合MapReduce快速處理。

773. SeQuenceFile是可以看做小文件的容器顶籽。

774. MapFile是已經(jīng)排序過(guò)的SequenceFile玩般,它有索引,所以可以按鍵查找礼饱。

775. Hadoop提供了鉤子(hook)來(lái)輔助分析過(guò)程坏为。

776. Mini集群廣泛應(yīng)用于Hadoop自帶的自動(dòng)測(cè)試包中。

777. 作業(yè)歷史包括已完成作業(yè)的時(shí)間和配置信息镊绪。

778. MapReduce任務(wù)日志可以從web界面訪問(wèn)匀伏。

779. 復(fù)雜的作業(yè)通常是增加更多的作業(yè),而不是增加作業(yè)的復(fù)雜度蝴韭。

780. Jobcontrol的實(shí)例表示一個(gè)作業(yè)的運(yùn)行圖够颠。

781. 在Ooize中,工作流是一個(gè)由動(dòng)作(action)節(jié)點(diǎn)和控制流節(jié)點(diǎn)組成的DAG榄鉴。

782. Ooize提供了一組與工作流交互的函數(shù)摧找。

783. TaskRunner啟動(dòng)了一個(gè)新的Jvm里運(yùn)行每個(gè)任務(wù)核行。

784. YARN將Jobtracker的職能劃分多個(gè)獨(dú)立的實(shí)體。

785. YARN集群上可以運(yùn)行不同版本的MapReduce蹬耘。

786. 每個(gè)map任務(wù)都有一個(gè)環(huán)形內(nèi)存緩存區(qū)用于存儲(chǔ)任務(wù)的輸出芝雪。

787. 在本地作業(yè)運(yùn)行器上運(yùn)行時(shí),只支持0個(gè)或1個(gè)reduce综苔。

788. 一個(gè)輸入切片(split)就是一個(gè)由單個(gè)map操作來(lái)處理的輸入塊惩系。

789. 切片并不包含數(shù)據(jù)本身,而是指向數(shù)據(jù)的引用如筛。

790. Jobtracker使用其存儲(chǔ)位置信息來(lái)調(diào)度map任務(wù)從而在tasktracker上處理這些切片數(shù)據(jù)堡牡。

791. Reduce輸入的鍵一定是有序的。

792. Hadoop為每個(gè)作業(yè)維護(hù)若干內(nèi)置計(jì)數(shù)器杨刨,以描述多項(xiàng)指標(biāo)晤柄。

793. 任務(wù)計(jì)數(shù)器由其關(guān)聯(lián)任務(wù)維護(hù),并定期發(fā)送給tasktracker妖胀,再有tasktracker發(fā)送給Jobtracker芥颈。

794. “邊數(shù)據(jù)”是作業(yè)所需的額外的只讀數(shù)據(jù)。

795. Hadoop還為mapper和reduce提供了一個(gè)包含了常用函數(shù)的庫(kù)赚抡。

796. Hadoop使用dfs爬坑。Mapred,rpc和jvm四個(gè)上下文根涂臣。

797. FileContext將度量寫到一個(gè)本地文件中盾计。

798. Ganglia是一個(gè)針對(duì)超大規(guī)模的開(kāi)源的分布式監(jiān)控系統(tǒng)。

799. Hadoop包括多個(gè)托管bean(MBean)赁遗,可以將hadoop度量發(fā)布給支持JMX的應(yīng)用署辉。

800. Didtcp是一個(gè)理想的備份工具。

801. HDFS能夠容忍datanode故障岩四,但這并不意味著允許隨意終止datanode哭尝。

802. Shell for((i0;i<n;i++))炫乓。

803. Break n跳出幾層循環(huán)。

804. For I in {1 .. 4}献丑。

805. Unset 刪除一個(gè)元素末捣。

806. Nohup 保持后臺(tái)允許。

807. >覆蓋创橄,>>追加箩做。

808. 0、1妥畏、2標(biāo)準(zhǔn)輸入正確邦邦,錯(cuò)誤輸出安吁。

809. Ls >/de/null 深淵。

810. Linux默認(rèn)無(wú)回收站燃辖。

811. –e執(zhí)行轉(zhuǎn)義字符鬼店。

812. Fsimage:元數(shù)據(jù)鏡像文件。

813. 目前HDFS不支持?jǐn)帱c(diǎn)續(xù)傳黔龟。

814. 最后塊不足夠妇智,則按實(shí)際打下存儲(chǔ)。

815. HAR是一個(gè)目錄結(jié)構(gòu)氏身。

816. Namenode兩種狀態(tài):Active和standly巍棱。

817. Namenode同步數(shù)據(jù)通過(guò)Journanodes集群。

818. Namenode切換蛋欣,自動(dòng)和手工切換航徙。

819. MapReduce是分布式并行計(jì)算模型,用于解決海量數(shù)據(jù)問(wèn)題陷虎。

820. Hive操作流程:

1. 提交SQL 交給驅(qū)動(dòng)

2. 驅(qū)動(dòng)編譯解析相關(guān)字段

3. 去metastore查詢相關(guān)信息

4. 編譯返回信息到踏,發(fā)給驅(qū)動(dòng)

5. 驅(qū)動(dòng)發(fā)一個(gè)執(zhí)行計(jì)劃

6. DDLS對(duì)數(shù)據(jù)庫(kù)表操作

7. 吧Job交給Jobtracker讓tasktracker執(zhí)行

8. 完成Job返回?cái)?shù)據(jù)信息,找namenode查數(shù)據(jù)

9. Dfs ops直接和namenode交互

821. Hive dfs ls 查看hadoop系統(tǒng)泻红。

822. Hive無(wú)刪除語(yǔ)句夭禽,用replace實(shí)現(xiàn)。

823. Replace很危險(xiǎn)谊路,不建議使用讹躯。

824. Hive刪字段,大多數(shù)情況重建表缠劝。

825. 桶表時(shí)對(duì)數(shù)據(jù)進(jìn)行哈希取值潮梯,然后放到不同文件中存儲(chǔ)。

826. 桶表應(yīng)用于抽樣查詢惨恭,加載文件分文件存儲(chǔ)秉馏。

827. 使用視圖可以降低查詢復(fù)雜度。

828. 索引是對(duì)數(shù)記錄偏移量脱羡。

829. 分區(qū)字段字段建索引萝究。

830. 建索引會(huì)引發(fā)MapReduce計(jì)算。

831. 裝載數(shù)據(jù):1)本地文件加載方式锉罐,2)查詢裝載帆竹。

832. 動(dòng)態(tài)分區(qū)加載方式。

833. Hive是讀模式脓规。

834. RDBMS是寫模式栽连。

835. Hive不支持對(duì)單行操作,只支持覆蓋和追加。

836. 每個(gè)HStore對(duì)應(yīng)了Table中的一個(gè)列族的存儲(chǔ)秒紧。

837. HStore是HBase存儲(chǔ)的核心:HFile绢陌、memstore。

838. HLog用于數(shù)據(jù)還原熔恢。

839. HFile是不定長(zhǎng)的脐湾。

840. CSV是逗號(hào)分隔符的文件。

841. Hive分析HBase绩聘,只要表映射即可沥割。

842. 列族優(yōu)化:

1. 隨機(jī)查詢:數(shù)據(jù)塊越少,索引越大凿菩,占用內(nèi)存也越大

2. 順序查詢:更好的順序掃描需要更大的數(shù)據(jù)塊

843. 布禄拧:有問(wèn)題反饋,無(wú)問(wèn)題不反饋衅谷。

844. HBase刪除數(shù)據(jù)時(shí)先標(biāo)記合并刪除椒拗。

845. HBase熱點(diǎn)優(yōu)化,創(chuàng)建分區(qū)获黔。

846. Solr可以實(shí)現(xiàn)全文搜索蚀苛。

847. Solr可以方便實(shí)現(xiàn)站內(nèi)搜索功能。

848. Solr是通過(guò)http協(xié)議處理搜索和查詢請(qǐng)求玷氏。

849. Solr是一個(gè)索引庫(kù)锡足。

850. 線性的訪問(wèn)磁盤专甩,很多時(shí)候比隨機(jī)訪問(wèn)內(nèi)存塊。

851. Kafka將數(shù)據(jù)分段,為每個(gè)段建立索引先馆。

852. 索引分兩部分:offset和position谨究。

853. Storm處理高頻數(shù)據(jù)和大規(guī)模數(shù)據(jù)棺榔。

854. Storm由用戶自定義處流程猜谚。

855. Stream ——一列火車。

856. Tuple? ——一節(jié)車廂辨嗽。

857. 數(shù)據(jù)? ——乘客世落。

858. Bolt? ?——對(duì)tuple中數(shù)據(jù)進(jìn)行處理 中間站。

859. Spout? ——源頭糟需,相當(dāng)于火車的始發(fā)站屉佳。

860. Toplogy ——軌道。

861. Storm 主-從結(jié)構(gòu)洲押。

862. 主節(jié)點(diǎn):nimbus武花,負(fù)責(zé)分發(fā)代碼诅诱,分配任務(wù)娘荡。

863. 從節(jié)點(diǎn):supervisor干旁,負(fù)責(zé)產(chǎn)生worker炮沐,執(zhí)行任務(wù)。

864. Storm集群的運(yùn)行依賴于Zookeeper大年。

865. Executor是一個(gè)被worker進(jìn)程啟動(dòng)的單獨(dú)線程换薄。

866. Task是最終運(yùn)行spout或bolt中代碼的執(zhí)行單元轻要。

867. Slots就是work進(jìn)程垦缅。

868. 將數(shù)據(jù)按類型分組壁涎。

869. Storm流分組:1)隨機(jī) 負(fù)載均衡怔球,2)字段 類型分組竟坛。

870. Work掛掉流码,storm會(huì)重新啟動(dòng)一個(gè)進(jìn)程漫试,數(shù)據(jù)不會(huì)丟失驾荣。

871. Storm不支持HA(目前)播掷。

872. 每個(gè)work都有一個(gè)ack/fail確認(rèn)機(jī)制歧匈。

873. Trident是對(duì)storm進(jìn)行封裝的一個(gè)框架。

874. ES也是對(duì)Luncene的封裝勘究,天生為分布式而生口糕。

875. ES基于Restful接口景描。

876. Hadoop RPC調(diào)用是基于Probobuf實(shí)現(xiàn)的超棺。

877. Client protocol定義了所有由客戶端發(fā)起的棠绘,由namenode響應(yīng)的操作:

1. HDFS文件讀相關(guān)的操作

2. HDFS文件寫以及追加寫的相關(guān)操作

3. 管理HDFS命名空間(namenode)的相關(guān)操作

4. 系統(tǒng)問(wèn)題與管理相關(guān)的操作

5. 快照相關(guān)操作

6. 緩存相關(guān)操作

7. 其他

878. FileSystem:

1. HDFS文件讀操作

2. HDFS文件寫與追加操作

3. 命名空間的管理操作

879. DFSAdmin:對(duì)系統(tǒng)問(wèn)題管理相關(guān)操作弄唧。

880. 處于安全模式(safemode)中的namenode不接受客戶端對(duì)命名空間的修改操作候引,只讀澄干。

881. 剛剛啟動(dòng)的namenode直接自動(dòng)進(jìn)入安全模式麸俘。

882. 必須在安全模式的兩個(gè)操作:

1. ‘-savenamespace’用于將整個(gè)命名空間保存到新的fsimage文件中

2. ‘-rolledits’則會(huì)觸發(fā)重置editlog文件

883. Refreshnodes()方法會(huì)觸發(fā)namenode刷新數(shù)據(jù)節(jié)點(diǎn)列表逞泄。

884. Findizeupgrade()和rollingupgrade()操作都是與namenode升級(jí)相關(guān)喷众。

885. 快照保存了一個(gè)實(shí)踐點(diǎn)上HDFS摸個(gè)路徑中所有數(shù)據(jù)的拷貝到千。

886. 快照可以將失效的集群回滾到之前一個(gè)正常的時(shí)間點(diǎn)上憔四。

887. 創(chuàng)建快照之前了赵,先開(kāi)啟目錄的快照功能斟览。

888. HDFS 2.3版本添加了集中式緩存管理功能:

1. Cache directive:表示要被緩存到內(nèi)存的文件或目錄

2. Cache pool:用于管理一系列的cache directive類似于命名空間

889. Datanode使用DatanodeProtocol接口與namenode握手注冊(cè)苛茂,發(fā)送心跳進(jìn)行全量以及增量的數(shù)據(jù)匯報(bào)妓羊。

890. DatanodeProtocol三種方法類型:

1. Datanode啟動(dòng)相關(guān)

2. 心跳相關(guān)

3. 數(shù)據(jù)塊讀寫相關(guān)

891. Datnode啟動(dòng)操作會(huì)與namenode進(jìn)行四次交互:

1. 與namenode握手

2. 注冊(cè)上的datanode

3. 匯報(bào)數(shù)據(jù)塊

4. 緩存所有數(shù)據(jù)塊

892. 分布式系統(tǒng)的節(jié)點(diǎn)之間大多采用心跳維護(hù)節(jié)點(diǎn)的健康狀態(tài)躁绸。

893. InterDatanodeProtocol(DN與DN之間接口)净刮,主要用于租約恢復(fù)操作淹父。

894. 客戶端打開(kāi)一個(gè)文件進(jìn)行寫操作是暑认,首先獲取租約蘸际,并定期更新租約。

895. NamenodeProtocol定義了第二namenode與namenode之間的接口驾诈。

896. HDFS除了RPC調(diào)用還定義了流式接口(TCP/HTTP)乍迄。

897. Hadoop RPC不足以支持大文件讀寫闯两。

898. HDFS客戶端讀取一個(gè)HDFS文件流程 :

1. 打開(kāi)HDFS文件

2. 從namenode獲取datanode地址

3. 連接到datanode讀取數(shù)據(jù)塊

4. 關(guān)閉輸入流

899. 數(shù)據(jù)塊的應(yīng)答包中不僅包含了數(shù)據(jù)漾狼,還包含了校驗(yàn)值逊躁。

900. HDFS客戶端寫入一個(gè)HDFS文件的流程:

1. 創(chuàng)建文件

2. 建立數(shù)據(jù)流管道

3. 通過(guò)數(shù)據(jù)流管道寫入數(shù)據(jù)

4. 關(guān)閉輸入流并提交文件

901. HDFS追加文件流程:

1. 打開(kāi)已有的HDFS文件

2. 建立數(shù)據(jù)流管道

3. 通過(guò)數(shù)據(jù)流管道寫入數(shù)據(jù)

4. 關(guān)閉輸入流并提交文件

902. 對(duì)于命名空間的一致性核芽,兩個(gè)namenode都需要與一組獨(dú)立運(yùn)行的節(jié)點(diǎn)(Journalnode轧简,JNS)通信哮独。

903. ZKFailovercontroller負(fù)責(zé)維護(hù)HA皮璧。

904. RPC(Remote Procedure Call protocol)恶导,遠(yuǎn)程過(guò)程調(diào)用協(xié)議惨寿。

905. Hadoop RPC框架底層采用Java NIO裂垦,Java動(dòng)態(tài)代理以及protobuf等蕉拢。

906. RPC框架:

1. 通信模塊

2. 客戶端stub程序

3. 服務(wù)器端stub程序

4. 請(qǐng)求程序

5. 服務(wù)程序

907. 客戶端的stub可以看作是一個(gè)代理對(duì)象。

908. Hadoop RPC 框架的使用抽象:

1. 定義RPC協(xié)議

2. 實(shí)現(xiàn)RPC協(xié)議

3. 客戶端獲取代理對(duì)象

4. 服務(wù)端啟動(dòng)并構(gòu)造RPC servers

909. Namenode:

1. 文件系統(tǒng)目錄樹(shù)管理

2. 數(shù)據(jù)塊以及數(shù)據(jù)節(jié)點(diǎn)管理

3. 租約管理:namenode給予租約持有者在規(guī)定時(shí)間內(nèi)擁有文件權(quán)限的合同

【大數(shù)據(jù)開(kāi)發(fā)學(xué)習(xí)資料領(lǐng)取方式】:加入大數(shù)據(jù)技術(shù)學(xué)習(xí)交流群522189307闸准,點(diǎn)擊加入群聊夷家,私信管理員即可免費(fèi)領(lǐng)取

4. 緩存管理

5. Fsnamesystem

Namenode的啟動(dòng)和停止

910. HDFS文件系統(tǒng)的命名空間是以/為根的整個(gè)目錄樹(shù)库快,是通過(guò)FSDirectory類來(lái)管理的靠汁。

911. HDFS中文件與目錄都被當(dāng)做系統(tǒng)目錄樹(shù)的一個(gè)INode節(jié)點(diǎn)蝶怔。

912. HDFS會(huì)將命名空間保存到namenode的本地系統(tǒng)上一個(gè)叫fsimage的文件匯總。

913. FSDirectory維護(hù)者文件系統(tǒng)目錄樹(shù)的節(jié)點(diǎn)察迟。

914. INode get方法:

1. Username

2. Groupnode

3. Fspermission

4. Allfeature:安全相關(guān)

5. Modification

6. Accesstime

7. Sattrfeature:擴(kuò)展屬性

915. HDFS的檢查點(diǎn)機(jī)制會(huì)定時(shí)將editlog文件與fsimage文件合并以產(chǎn)生新的fsimage文件扎瓶。

916. 非HA,檢查點(diǎn)操作由secondary namenode來(lái)執(zhí)行误证。

917. Namenode維護(hù)著HDFS中連個(gè)最重要的關(guān)系:

1. HDFS文件系統(tǒng)的目錄樹(shù)以及文件的數(shù)據(jù)塊索引

2. 數(shù)據(jù)塊和數(shù)據(jù)節(jié)點(diǎn)的對(duì)應(yīng)關(guān)系

918. 當(dāng)namenode發(fā)生錯(cuò)誤并今夕了Active與standly切換時(shí)愈捅,多余的副本不能直接刪除蓝谨,先匯報(bào)再?gòu)年?duì)列中移除。

919. 數(shù)據(jù)塊副本狀態(tài):

1. 正常副本

2. 損壞副本

3. 多余副本

4. 等待刪除副本

5. 等待刪除副本

6. 等待復(fù)制副本

7. 正在復(fù)制副本

8. 推遲操作副本

920. 數(shù)據(jù)副本的刪除情況:

1. 數(shù)據(jù)塊所屬的HDFS文件被刪除

2. 數(shù)據(jù)塊的副本數(shù)量多于配置表

3. 副本被namenode標(biāo)記損壞副本

921. 在HDFS中芦昔,客戶端寫文件時(shí)需要先從租約管理器中申請(qǐng)一個(gè)租約烟零。

922. Namenode啟動(dòng)時(shí)會(huì)首先加載命名空間鏡像并合并編輯日志锨阿。

923. 預(yù)防腦裂壳嚎,HDFS提供三個(gè)級(jí)別的隔離機(jī)制:

1. 共享存儲(chǔ)隔離

2. 客戶端隔離

3. Datanode隔離

924. HA管理命令的執(zhí)行是由HAAdmin為負(fù)責(zé)的烟馅。

925. Namenode三個(gè)類:

1. Namenode類

2. nameNode Rpcserver

3. FSNamesystem類

926. 塊池:一個(gè)塊池由屬于同一個(gè)命名空間的所有數(shù)據(jù)塊組成郑趁。

927. 命名空間卷:一個(gè)namenode管理的命名空間以及它對(duì)應(yīng)的塊池一起被稱為命名空間卷寡润。

928. 每個(gè)塊池都是一個(gè)獨(dú)立的數(shù)據(jù)塊集合。

929. Datanode從邏輯上可切分幾個(gè)模塊:

1. 數(shù)據(jù)層

2. 邏輯層:向NN匯報(bào)变抽,心跳绍载,掃描損壞數(shù)據(jù)塊

3. 服務(wù)器

930. Datanode升級(jí)需要考慮:

1. 版本兼容性問(wèn)題

2. 升級(jí)消耗的硬盤空間問(wèn)題

3. 回滾要求

931. Datanode兩個(gè)管理功能:

1. 管理與組織磁盤存儲(chǔ)目錄

2. 管理與組織數(shù)據(jù)塊及其元數(shù)據(jù)文件

932. Storedirectory:

1. 獲取文件夾相關(guān)

2. 加鎖/解鎖

3. 存儲(chǔ)狀態(tài)恢復(fù)

933. 集中式緩存由分布在datanode上的對(duì)外內(nèi)存組成,同時(shí)被namenode統(tǒng)一管理曙痘。

934. 數(shù)據(jù)包:

1. 數(shù)據(jù)包頭

2. 校驗(yàn)數(shù)據(jù)

3. 實(shí)際數(shù)據(jù)

935. Java NIO零拷貝模式边坤。

936. Datanode掃描器同期驗(yàn)證datanode上存儲(chǔ)的數(shù)據(jù)塊正確性。

937. HDFS目前提供三個(gè)客戶端接口:

1. distributedFileSystem

2. FSShell

3. DFSAdmin

938. DFSClient是用戶使用HDFS各項(xiàng)功能的起點(diǎn)旺订。

939. HDFS管理員通過(guò)DFSAdmin工具管理與配置HDFS区拳。

940. HDFS目前實(shí)現(xiàn)的讀操作有三個(gè)層次:

1. 網(wǎng)絡(luò)讀:socket

2. 短路讀:同一節(jié)點(diǎn)

3. 零拷貝讀:緩存轉(zhuǎn)換

941. Shuffle和sort階段負(fù)責(zé)執(zhí)行兩個(gè)主要?jiǎng)幼鳎?/p>

1. 決定哪個(gè)reducer接收map輸出的鍵值對(duì)(切片)

2. 并確定傳輸給reducer的鍵值對(duì)是進(jìn)行排序的

942. MapReduce是基于批處理的框架约素,不適合實(shí)時(shí)訪問(wèn)數(shù)據(jù)圣猎。

943. Hadoop配置文件:

1. Hadoop-env.sh ——設(shè)置環(huán)境變量

2. Core-site.xml? ——系統(tǒng)級(jí)的Hadoop配置項(xiàng)

3. Hdfs-site.xml? ——HDFS配置

4. Mapred-site.xml ——HDFS設(shè)置

5. Master ——Hadoop的master主機(jī)列表

6. Slaves ——Hadoop的slave主機(jī)地址列表

944. Flume四個(gè)組件:

1. Nodes ——flume數(shù)據(jù)路徑

2. Agents ——從本地主機(jī)上收集流數(shù)據(jù)

3. Collectors ——匯總來(lái)自代理的數(shù)據(jù)

4. Master——執(zhí)行配置管理任務(wù)

945. Flume以Avro Json格式寫數(shù)據(jù)。

946. Agent數(shù)據(jù)接收器是Agent數(shù)據(jù)源的目的地欠啤。

947. Flume數(shù)據(jù)源:

1. Text ——處理一次的文本文件跪妥,每次處理一行

2. Tail ——為加入文件的每行生產(chǎn)一個(gè)事件

3. Multitail ——tail工具支持多文件處理

4. Syslogudp ——處理syslogUDP消息

5. syslogTcp ——處理sysLogTcp消息

6. execperiodic ——任意命令定期執(zhí)行,整個(gè)輸出是一個(gè)事件

7. execstream ——執(zhí)行任意指令,每行是一個(gè)獨(dú)立事件

8. exec ——定期執(zhí)行任意指令并確定整個(gè)輸出的每行事件

9. scribe ——處理scrive collection 系統(tǒng)生產(chǎn)的數(shù)據(jù)

948. Collector數(shù)據(jù)接收器支持多種事件輸入格式:

1. Syslog ——輸出類似syslog格式的事件

2. Log4j ——輸出類似Hadoop log4j 格式的事件

3. avroJson——輸出進(jìn)過(guò)Avro編碼的json格式的數(shù)據(jù)

4. avrodata ——輸出經(jīng)過(guò)avro二進(jìn)制編碼的數(shù)據(jù)

5. debug ——僅在調(diào)試時(shí)使用

6. raw——只輸出事件本身憾赁,不包含元數(shù)據(jù)

949. spark編程模型是彈性分布式數(shù)據(jù)集龙考,他是MapReduce模型的擴(kuò)展和延伸。

950. RDD記錄血統(tǒng)缓溅,而不是真正數(shù)據(jù)坛怪。

951. Spark四類操作:

1. 創(chuàng)建操作:用于RDD創(chuàng)建工作

2. 轉(zhuǎn)換操作:RDD變換成新的RDD

3. 控制操作:RDD持久化

4. 行為操作:能夠觸發(fā)spark運(yùn)行的操作

952. 調(diào)度器安裝DAG進(jìn)行計(jì)算更啄,并最終得到目標(biāo)RDD锈死。

953. RDD模型將計(jì)算分解為多個(gè)相互獨(dú)立的細(xì)粒度任務(wù)待牵。

954. Spark中提供了通用接口來(lái)抽象每個(gè)RDD

1. 分區(qū)信息:它們是數(shù)據(jù)集的最小分片

2. 依賴關(guān)系:指向其父RDD

3. 函數(shù):基于RDD計(jì)算方法

4. 劃分策略和數(shù)據(jù)位置的元數(shù)據(jù)

955. RDD操作中用戶可以使用Partition方法獲取RDD劃分的分區(qū)數(shù)。

956. Spark中RDD計(jì)算是以分區(qū)為單位的贰拿。

957. Spark默認(rèn)連個(gè)劃分器:哈希分區(qū)和范圍分區(qū)膨更。

958. Hadoop中的每一個(gè)HDFS數(shù)據(jù)塊都稱為一個(gè)RDD分區(qū)。

959. Map/mapPartitions作用每個(gè)元素矗漾,每個(gè)分區(qū)敞贡。

960. Checkpoint將切斷與該RDD之前的依賴關(guān)系。

961. Spark基本概念:

1. Application ——用戶編寫的spark應(yīng)用程序

2. Driver ——application的main創(chuàng)建sparkContext

3. Cluster manager ——指在集群上獲取資源的外部服務(wù)

4. Standlone ——spark原生的資源管理

5. Hadoop YARN

6. Worl ——工作節(jié)點(diǎn)

7. Master ——總控進(jìn)程

8. Executor ——執(zhí)行進(jìn)程

962. Spark定義了通信框架接口蛔垢,這些接口實(shí)現(xiàn)中調(diào)用netty的具體方法。

963. Shuffle寫有基于哈希和排序兩種方式甫男。

964. Clustermanager提供了資源的分配和管理又跛。

965. 資源分配和調(diào)度的基本單位是container慨蓝。

966. 在YARN中礼烈,每個(gè)application實(shí)例都有一個(gè)application master進(jìn)程。

967. Application master是application啟動(dòng)的第一個(gè)容器犀忱,它負(fù)責(zé)和resourceManager打交道并請(qǐng)求資源。

968. Spark SQL執(zhí)行過(guò)程:

1. 詞法和語(yǔ)法解析

2. 綁定

3. 優(yōu)化4. 執(zhí)行

969. Spark 提供了兩種方式將RDD轉(zhuǎn)換成DataFrame:

1. 通過(guò)定義 case class 搀庶,使用反射推斷schema

2. 通過(guò)編程接口地来,定義schema咕宿,并應(yīng)用到RDD上

970. YARN拆分Jobtracker的兩大職責(zé):資源管理府阀,作業(yè)調(diào)度/監(jiān)控:

1. 全局的resource Manager

2. 每個(gè)應(yīng)用對(duì)應(yīng)的Application Master

971. Resource Manager擁有為系統(tǒng)中的所有應(yīng)用的資源分配的決定權(quán)董瞻。

972. Container為應(yīng)用程序授予在特定主機(jī)上使用資源全權(quán)利钠糊。

973. YARN三種調(diào)度器:

1. FIFO調(diào)度器

2. Capacity調(diào)度器

3. Fair調(diào)度器

974. Storm一個(gè)work進(jìn)程執(zhí)行的是一個(gè)topplpgy的子集艘刚。

975. Executor是一個(gè)被work進(jìn)程啟動(dòng)的單獨(dú)線程。

976. Work之間通信是通過(guò)Netty進(jìn)行通信的截珍。

977. Stream grouping:

1. Shuffle ——隨機(jī)分組

2. Fields ——按字段分組

3. All ——廣播發(fā)送

4. Non ——隨機(jī)分配

5. Diret ——直接分組

978. Task是運(yùn)行spout或bolt中的線程攀甚。

979. Strom的核心:

1. 主節(jié)點(diǎn) ——Nimbus

2. 工作節(jié)點(diǎn)——supervisor

3. 協(xié)調(diào)器——Zookeeper

4. 工作進(jìn)程——worker

5. 任務(wù)線程——task

980. Storm三大應(yīng)用:

? ? 1. 信息流處理

? ? 2. 持續(xù)計(jì)算

3. 分布式遠(yuǎn)程調(diào)用

981. 提交一個(gè)Topology之后,storm創(chuàng)建spout/bolt實(shí)例big進(jìn)行序列化岗喉。

982. 流是一個(gè)分布式并行創(chuàng)建和處理的無(wú)界的連續(xù)元組秋度。

983. Storm數(shù)據(jù)傳輸利用的是zmq開(kāi)源的消息傳遞框架。

984. Topology是由stream grouping鏈接起來(lái)的spout和bolt節(jié)點(diǎn)網(wǎng)絡(luò)静陈。

985. Tupe可以理解成鍵值對(duì),即Fields和values诞丽。

986. Tuple的asked鲸拥,faild都由spout發(fā)出并維護(hù)的。

987. 本地模式:storm用一個(gè)進(jìn)程紅的線程模擬所有spout/bolt僧免。

988. Nimbus和supervisor之間的通信依賴Zookeeper完成刑赶。

989. 用戶畫像是一個(gè)實(shí)際用戶的虛擬代表,如年齡懂衩,性別等撞叨。

990. 在機(jī)器學(xué)習(xí)中,對(duì)象是指含有一組特征的行變量浊洞。

991. 行變量的集合最容易構(gòu)造的結(jié)構(gòu)就是表牵敷。

992. Hadoop有三種令牌:

1. 委托令牌

2. 塊訪問(wèn)令牌

3. 作業(yè)令牌

993. 對(duì)事物運(yùn)動(dòng)這種不確定性(隨機(jī)性)的度量就是概率論。

994. 大數(shù)據(jù)4V:

1. Volume ——數(shù)據(jù)體量大

2. Variety ——數(shù)據(jù)類型繁多

3. Velocity ——處理速度快

4. Value? ?——商業(yè)價(jià)值高

995. 移動(dòng)互聯(lián)網(wǎng)產(chǎn)生了和客戶緊密擁綁的大數(shù)據(jù)法希。

996. 在互聯(lián)網(wǎng)這個(gè)產(chǎn)業(yè)鏈中枷餐,誰(shuí)掌握了用戶,誰(shuí)的天下苫亦。

997. 消費(fèi)者的注意力和使用習(xí)慣去了哪里毛肋,錢就會(huì)流向哪里。

998. 體驗(yàn)的產(chǎn)生是一個(gè)藝術(shù)的過(guò)程屋剑。

999. 大數(shù)據(jù)的目標(biāo)是定位润匙。

1000. 建立一個(gè)學(xué)習(xí)型企業(yè)架構(gòu)。

【大數(shù)據(jù)開(kāi)發(fā)學(xué)習(xí)資料領(lǐng)取方式】:加入大數(shù)據(jù)技術(shù)學(xué)習(xí)交流群522189307唉匾,點(diǎn)擊加入群聊孕讳,私信管理員即可免費(fèi)領(lǐng)取

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子厂财,更是在濱河造成了極大的恐慌油啤,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,591評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蟀苛,死亡現(xiàn)場(chǎng)離奇詭異益咬,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)帜平,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門幽告,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人裆甩,你說(shuō)我怎么就攤上這事冗锁。” “怎么了嗤栓?”我有些...
    開(kāi)封第一講書人閱讀 162,823評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵冻河,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我茉帅,道長(zhǎng)叨叙,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 58,204評(píng)論 1 292
  • 正文 為了忘掉前任堪澎,我火速辦了婚禮擂错,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘樱蛤。我一直安慰自己钮呀,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,228評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布昨凡。 她就那樣靜靜地躺著爽醋,像睡著了一般。 火紅的嫁衣襯著肌膚如雪便脊。 梳的紋絲不亂的頭發(fā)上蚂四,一...
    開(kāi)封第一講書人閱讀 51,190評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音就轧,去河邊找鬼证杭。 笑死田度,一個(gè)胖子當(dāng)著我的面吹牛妒御,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播镇饺,決...
    沈念sama閱讀 40,078評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼乎莉,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起惋啃,我...
    開(kāi)封第一講書人閱讀 38,923評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤哼鬓,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后边灭,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體异希,經(jīng)...
    沈念sama閱讀 45,334評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,550評(píng)論 2 333
  • 正文 我和宋清朗相戀三年绒瘦,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了称簿。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,727評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡惰帽,死狀恐怖憨降,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情该酗,我是刑警寧澤授药,帶...
    沈念sama閱讀 35,428評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站呜魄,受9級(jí)特大地震影響悔叽,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜爵嗅,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,022評(píng)論 3 326
  • 文/蒙蒙 一骄蝇、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧操骡,春花似錦九火、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,672評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至是掰,卻和暖如春虑鼎,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背键痛。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,826評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工炫彩, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人絮短。 一個(gè)月前我還...
    沈念sama閱讀 47,734評(píng)論 2 368
  • 正文 我出身青樓江兢,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親丁频。 傳聞我的和親對(duì)象是個(gè)殘疾皇子杉允,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,619評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • Zookeeper用于集群主備切換邑贴。 YARN讓集群具備更好的擴(kuò)展性。 Spark沒(méi)有存儲(chǔ)能力叔磷。 Spark的Ma...
    Yobhel閱讀 7,267評(píng)論 0 34
  • 一.簡(jiǎn)述如何安裝配置apache 的一個(gè)開(kāi)源的hadoop 1.使用root賬戶登陸 2.修改ip 3.修改hos...
    梔子花_ef39閱讀 4,944評(píng)論 0 52
  • 【什么是大數(shù)據(jù)改基、大數(shù)據(jù)技術(shù)】 大數(shù)據(jù)繁疤,又稱巨量資料,指的是所涉及的數(shù)據(jù)資料量規(guī)模巨大到無(wú)法在合理時(shí)間內(nèi)通過(guò)傳統(tǒng)的應(yīng)...
    kimibob閱讀 2,743評(píng)論 0 51
  • 我們一生秕狰, 有許多經(jīng)過(guò)嵌洼, 也有許多錯(cuò)過(guò)。 年輕時(shí)封恰, 可能錯(cuò)過(guò)一條應(yīng)該走的路麻养。 如果走了那條路, 肯定又是另外一番經(jīng)...
    點(diǎn)石教育永生閱讀 289評(píng)論 1 8
  • 愛(ài)情是霸道的愛(ài)情是見(jiàn)不到的憂愁愛(ài)情是相見(jiàn)不能見(jiàn)痛苦诺舔,十八歲是愛(ài)情萌發(fā)的年齡像初升的朝陽(yáng)鳖昌!
    臺(tái)燈下閱讀 191評(píng)論 0 0