【发布时间】:2014-06-15 04:08:29
【问题描述】:
我想将 HIVE 表从 HIVE 复制到 HDFS。请建议步骤。稍后我想将此 HFDS 文件用于 Mahout 机器学习。
我使用存储在 HDFS 中的数据创建了一个 HIVE 表。然后我转换了该数据集中的几个变量并从中创建了一个新表。 现在我想将 HIVE 表从 HIVE 转储到 HDFS。以便 Mahout 可以读取它。
当我输入这个
hadoop fs -ls -R /user/hive/
我可以看到我创建的表列表,
drwxr-xr-x - hdfs supergroup 0 2014-04-25 17:00 /user/hive/warehouse/telecom.db/telecom_tr
-rw-r--r-- 1 hdfs supergroup 5199062 2014-04-25 17:00 /user/hive/warehouse/telecom.db/telecom_tr/000000_0
我尝试将文件从 Hive 复制到 HDFS,
hadoop fs -cp /user/hive/warehouse/telecom.db/telecom_tr/* /user/hdfs/tele_copy
我在这里除了 tele_copy 应该是一个 csv 文件,存储在 hdfs 中。
但是当我执行hadoop fs -tail /user/hdfs/tele_copy 时,我得到以下结果。
7.980.00.00.0-9.0-30.00.00.670.00.00.00.06.00.06.670.00.670.00.042.02.02.06.04.0198.032.030.00.03.00.01.01.00.00.00.01.00.01.01.00.00.00.01.00.00.00.00.00.00.06.00.040.09.990.01.01
32.64296.7544.990.016.00.0-6.75-27.844.672.3343.334.671.3331.4725.05.3386.6754.07.00.00.044.01.01.02.02.0498.038.00.00.07.01.00.00.00.01.00.00.01.00.00.00.00.00.01.01.01.00.01.00.00.03.00.010.029.991.01.01
30.52140.030.00.250.00.0-42.0-0.520.671.339.00.00.034.6210.677.3340.09.332.00.00.040.02.02.01.01.01214.056.050.01.05.00.00.00.00.00.00.01.00.01.01.00.00.01.01.00.00.01.00.00.00.06.00.001.00.00.01.01
60.68360.2549.990.991.250.038.75-10.692.331.6715.670.00.0134.576.00.0102.6729.674.00.00.3340.02.01.08.03.069.028.046.00.05.00.01.00.00.00.00.00.01.01.01.00.00.00.01.00.00.01.00.00.00.02.00.020.0129.990.01.01
不是逗号分隔的。
运行此命令后也收到了相同的结果。
INSERT OVERWRITE DIRECTORY '/user/hdfs/data/telecom' SELECT * FROM telecom_tr;
当我执行 -ls 时
drwxr-xr-x - hdfs supergroup 0 2014-04-29 17:34 /user/hdfs/data/telecom
-rw-r--r-- 1 hdfs supergroup 5199062 2014-04-29 17:34 /user/hdfs/data/telecom/000000_0
当我做一只猫时,结果不是 CSV
【问题讨论】: