无法使用 fullSet.repartition(1).saveAsParquetFile( "swift://notebooks.spark/tweetsFull.parquet" ) 写入 par



我正在尝试使用IBM bluemix使用apache spark构建应用程序。(参考https://developer.ibm.com/clouddataservices/sentiment-analysis-of-twitter-hashtags/)。我正在使用流式API来流式传输数据,并且已经成功地使用sparksQL创建了SQL表。然后,我使用SQL select*读取了数据,但当我无法将数据写入IBM Bluxmix平台上对象存储空间中的paraque文件时。以下是示例代码

.
.
.
var df = sqlContext.createDataFrame( workingRDD, schemaTweets )
df.registerTempTable("tweets_table")
df.printSchema()
  root
   |-- author: string (nullable = true)
   |-- date: string (nullable = true)
   |-- lang: string (nullable = true)
   |-- text: string (nullable = true)
val results = sqlContext.sql("select * from tweets_table limit 5")
results.show
  +--------------------+--------------------+----+--------------------+
  |              author|                date|lang|                text|
  +--------------------+--------------------+----+--------------------+
  |       abc          ?|Sun Nov 29 03:30:...|  en|RT @fdfds: W........|
  |   fdsfsdf          ?|Sun Nov 29 03:30:...|  en|#NewsIndofsdfM  R...|
  |           .fsdfdsf  |Sun Nov 29 03:30:...|  en|RT @Lsfddsfds.    ..|
  |           Wsfsfd    |Sun Nov 29 03:30:...|  en|My gfsdfsdfdshtps...|
  |           Ffsdfsdf  |Sun Nov 29 03:30:...|  en|RT @Ayfsdfsdf : W...|
  +---------------------+--------------------+----+--------------------+
  results.repartition(1).saveAsParquetFile("swift://notebooks.spark/tweets_1.parquet")

在对象存储中,看到文件tweets_1.parquet已创建,但它显示为0字节。有人能告诉我哪里做错了吗?

当我运行这个相同的例子时,我的Parquet文件保存在对象存储中,但在一个同名的子目录中被分解为几个文件:

tweetsFull.parquet  12/02/2015 1:48 PM  0 KB
tweetsFull.parquet/part-r-00000-c3709e95-8f23-4ec5-bdf0-f0940b2cd94b.gz.parquet 12/02/2015 1:49 PM  16 KB
tweetsFull.parquet/_common_metadata 12/02/2015 1:49 PM  1 KB
tweetsFull.parquet/_metadata    12/02/2015 1:49 PM  3 KB
tweetsFull.parquet/_SUCCESS 12/02/2015 1:49 PM  0 KB

如果我从这个文件中读取,它会起作用。这就是你看到的吗?

对不起。我被文件夹名称tweets_1.parquet弄错了,它显示为0字节。我以为tweets_1.parquet是唯一必须创建的文件。但它是一个文件夹,在它下面我可以看到所有有效的文件。

相关内容

  • 没有找到相关文章

最新更新