我正在尝试将数据帧存储到外部配置单元表中。当我执行以下操作时:
test[3][19]
在应该存在该表的hdfs位置,我得到了这个:
-rw-r - r-- 3 cloudera cloudera 0 2016-12-25 18:58 hadoop / hive / warehouse / VerizonProduct / _SUCCESS
-rw-r - r-- 3 cloudera cloudera 482 2016-12-25 18:58 hadoop / hive / warehouse / VerizonProduct / part-r-00000-0acdcc6d-893b-4e9d-b1d6-50bf02bea96a.snappy。镶木
-rw-r - r-- 3 cloudera cloudera 482 2016-12-25 18:58 hadoop / hive / warehouse / VerizonProduct / part-r-00001-0acdcc6d-893b-4e9d-b1d6-50bf02bea96a.snappy。镶木
-rw-r - r-- 3 cloudera cloudera 482 2016-12-25 18:58 hadoop / hive / warehouse / VerizonProduct / part-r-00002-0acdcc6d-893b-4e9d-b1d6-50bf02bea96a.snappy。镶木
-rw-r - r-- 3 cloudera cloudera 482 2016-12-25 18:58 hadoop / hive / warehouse / VerizonProduct / part-r-00003-0acdcc6d-893b-4e9d-b1d6-50bf02bea96a.snappy。镶木
如何将其存储为未压缩的文本格式?
由于
答案 0 :(得分:1)
您可以添加recordDF.write.option("path", "...").format("text").saveAsTable("...")
选项:
recordDF.write.option("path", "...").format("csv").saveAsTable("...")
或
GET
答案 1 :(得分:1)
上面的格式为csv的解决方案,发出警告“找不到相应的Hive SerDe for data source provider csv。”。该表不是以所需方式创建的。一种解决方案是创建一个外部表格,如
sqlContext.sql("CREATE EXTERNAL TABLE test(col1 int,col2 string) STORED AS TEXTFILE LOCATION '/path/in/hdfs'")
所示。
然后
dataFrame.write.format("com.databricks.spark.csv").option("header", "true").save("/path/in/hdfs")