一、Waterdrop工具
Waterdrop是一個基於Apache Spark的簡單易用的ETL工具,可幫助開發人員快速實現數據清洗、轉換和加載任務。它支持多種數據源,並提供了易於使用的Web UI來監控作業狀態和性能指標。
Waterdrop的主要特點包括:
1、針對數據處理提供即插即用的解決方案,降低開發成本;
2、多數據源支持,作業適用範圍廣泛;
3、模塊化和易擴展的設計,可方便地定製和增強系統功能;
4、易於使用的Web UI,提供了詳細的作業監控和性能指標信息;
5、免費使用,無需任何授權和費用。
二、Waterdrop安裝教程
Waterdrop的安裝非常簡單,只需按照以下步驟操作:
1、通過以下命令下載Waterdrop二進制文件:
wget https://github.com/InterestingLab/waterdrop/releases/download/v1.3.3/waterdrop-1.3.3.tar.gz
2、解壓縮並進入Waterdrop目錄:
tar xzvf waterdrop-1.3.3.tar.gz cd waterdrop-1.3.3
3、修改配置文件conf/application.conf,填寫正確的數據源和目標信息:
spark { app { name = "waterdrop" master = "yarn" } streaming { batch_duration = 1s } driver.memory = 2g executor.memory = 2g } source { kinesis { access-key-id = "" secret-access-key = "" region-name = "" stream-name = "" endpoint-url = "" initial-position-in-stream = "LATEST" } } sink { hdfs { path = "" file-type = "TEXT" partition-fields = "dt,hour" partition-format = "yyyyMMdd,HH" timezone = "Asia/Shanghai" write-buffer-size = 64m max-file-size = 1G } }
4、啟動Waterdrop作業:
./bin/waterdrop.sh --config conf/application.conf
三、Waterdrop翻譯
Waterdrop提供了與多種數據源的集成,包括Kafka、Kinesis、HDFS和JDBC等,因此在ETL過程中可能涉及到一些數據格式和字段名的翻譯問題。
例如,如果要將從Kafka讀取的數據轉換為HDFS格式並存儲,需要進行一些字段映射和數據類型轉換操作:
source { kafka { bootstrap.servers = "" topics = ["test"] group.id = "" auto.offset.reset = "latest" # kafka數據的序列化與反序列化類 key-deserializer = "org.apache.kafka.common.serialization.StringDeserializer" value-deserializer = "org.apache.kafka.common.serialization.StringDeserializer" } } filter { #通過filter配置進行字段映射和數據類型轉換 field-mapping { before = ["name", "age", "gender"] after = ["new_name", "new_age", "new_gender"] } #轉換數據類型 type-converter { fields = ["new_age"] to-type = "int" } } sink { hdfs { path = "" file-type = "TEXT" #按照日期和小時分區 partition-fields = ["dt", "hour"] partition-format = "yyyyMMdd,HH" timezone = "Asia/Shanghai" write-buffer-size = "64m" } }
四、Waterdrop如何查看JDK路徑
在運行Waterdrop之前,需要先安裝和配置Java環境,並設置正確的JDK路徑。如果不確定JDK路徑,可以通過以下命令查看:
/usr/libexec/java_home -V
輸出的結果類似於:
Matching Java Virtual Machines (3): 11.0.2, x86_64: "Java SE 11.0.2" /Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home 1.8.0_211, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home 1.7.0_80, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home /Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home
可以看到當前機器上安裝了多個JDK版本,其中以/Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home為JDK路徑。
五、Waterdrop Hive Neo4j
Waterdrop還可以與多個數據存儲進行集成,例如Hive和Neo4j等。以下是一個Hive數據源和Neo4j目標的例子:
source { hive { database = "test" table = "test_table" thrift-uri = "thrift://hive_server_host:9083" } } transform { # 處理邏輯 } sink { neo4j { uri = "bolt://neo4j_host:7687" username = "neo4j" password = "password" node-type = "person" relationship-type = "knows" node-properties = ["name", "age"] relationship-properties = ["distance"] commit-batch-size = 10000 } }
六、三體視頻Waterdrop
水滴計劃(Waterdrop Plan)是華為公司推出的一個人才培養計劃,目的是為自己和行業培養高素質的人才。三體視頻Waterdrop是水滴計劃的正式官方賬號,提供了大量的培訓和學習資源。
七、美國Waterdrop凈水壺
Waterdrop是一家專註於凈水技術的公司,旗下包括多款凈水產品。美國Waterdrop凈水壺是其中一款比較暢銷的產品,採用多種凈水技術,可以有效地去除水中的雜質、氯、異味和細菌等。
八、滬教版牛津英語Waterdrop
滬教版牛津英語是中國著名的英語教材,旨在培養學生適應複雜多變的現代社會,擁有全球視野和重要的語言和思維能力。Waterdrop是滬教版牛津英語中的一個主題(Theme),主要涉及自然科學、環境保護和人類生活等方面。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/151547.html