首先需要澄清一个常见的概念:Hadoop 本身不是数据库,而是一个分布式存储与计算框架。通常所说的“Hadoop 数据库”可能指以下几种情况:
下面分别说明如何导入数据。
hdfs dfs -put /local/file.csv /user/hadoop/
hdfs dfs -get /user/hadoop/file.csv /local/
LOAD DATA INPATH '/user/hadoop/file.csv'
INTO TABLE my_table;
LOAD DATA LOCAL INPATH '/local/file.csv'
INTO TABLE my_table;
INSERT INTO TABLE my_table
SELECT * FROM other_table;
CREATE EXTERNAL TABLE my_table (
id INT,
name STRING
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
LOCATION '/user/hadoop/data/';
hbase shell
put 'table', 'row1', 'cf:col', 'value'
hbase org.apache.hadoop.hbase.mapreduce.ImportTsv \
-Dimporttsv.columns=HBASE_ROW_KEY,cf:col \
table /hdfs/path/file.csv
sqoop import \
--connect jdbc:mysql://localhost/db \
--username root \
--password 123456 \
--table user \
--hive-import
df = spark.read.csv("/path/file.csv")
df.write.saveAsTable("hive_table")
| 场景 | 推荐方式 |
|---|---|
| 日志文件 | HDFS + Hive 外部表 |
| 结构化业务数据 | Sqoop → Hive |
| 实时写入 | HBase / Kafka |
| 大数据分析 | Spark |
如果你能告诉我:
我可以给你更精确的导入命令和示例。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。