一、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-hk/n/151547.html
微信掃一掃
支付寶掃一掃