百万歌曲数据集是以.tsv还是.csv格式提供的?

时间:2014-12-30 04:22:57

标签: hadoop apache-spark

我接近以下repo(选择song_dataset.csv)(github.com/Taranveer/Million_Song_dataset)但是当我通过Spark(一个Hadoop变体)加载数据集时,结果是一堆问号:

  

14/12/30 04:02:51 INFO spark.SparkContext:工作完成:接受   :14,取0.205963622 s tenSongs:Array [String] = Array(�HDF,   ?,   ????????????????????????Ť???????? ??????`????????????????????????????????????????? ????????????   ???????(??????? TREE ?????????????????? ??(??????????????????????????????????????????????? ?????????????????????????????????????????????????? ?????????????????????????????????????????????????? ?????????????????????????????????????????????????? ?????????????????????????????????????????????????? ?????????????????????????????????????????????????? ?????????????????????????????????????????????????? ?????????????????????????????????????????????????? ?????????????????????????????????????????????????? ?????????????????????????????????????????????????? ?????? HEAP ???? X ??????? 8 ??????????????????????元数据?????? ??分析???????? MusicBrainz的?...

另外我认为哥伦比亚大学项目提供的公共S3存储桶已经不存在了(这是几年前推出的临时公共存储桶):http://labrosa.ee.columbia.edu/millionsong/blog/11-6-22-msd-hackreduce-boston-s3-bucket

2 个答案:

答案 0 :(得分:2)

您从发布的网站http://bilalaslam.com/how-to-process-a-million-songs-in-seconds/

加载了错误版本的数据集
  

数据

     

对于这篇博文,我们将使用哥伦比亚大学的百万歌数据集。不幸的是,这些数据是HDF5格式,这种格式不是Hadoop或Spark的原生格式。 Spark可以轻松解析TSV或CSV。出于本博文的目的,我们将数据转换为TSV格式并将其放入S3存储桶中。

请注意数据集HDF开头的�HDF, ?, ????。这意味着您正在尝试读取HDF5文件而不是TSV。

答案 1 :(得分:1)

Hifi处,我们发现百万歌曲数据集中的数据对于构建我们的一些初始推荐算法原型非常有用,但是为了使数据可操作,以更简单的格式(例如csv) )真的简化了事情。

我们在这里开源了一些初步工作:

https://github.com/rcrdclub/mm-songs-db-tools

对此问题特别有用的是此脚本mmsongsdb_to_csv.py递归遍历给定目录并将*.h5文件中找到的元数据转换为单个csv。希望它有所帮助!