如何从hdfs将mysql数据加载到pyspark

问题描述 投票:0回答:1

我使用sqoop将表从mysql导入到hdfs位置/ user / cloudera / table1,现在应该是什么命令将该表加载到pyspark代码中。我只是在编写如下的简单代码。我正在使用cloudera CDH 5.13。谢谢

from pyspark import SparkContext, SparkConf
if __name__ == "__main__":
 # create Spark context with Spark configuration
 conf = SparkConf().setAppName("Spark Count")
 sc = SparkContext(conf=conf)
 data = code here to import table from hdfs
mysql pyspark sqoop
1个回答
0
投票

默认情况下,Sqoop以文本格式导入数据,或者我们可以使用(--as-textfile)选项显式设置它。

参考:Sqoop Documentation阅读7.2.8。文件格式以便更好地理解。

要使用hdfs cat命令手动查看文件格式。

ls用于列出路径下的文件。打开所选文件的猫。

您也可以在以下命令中使用hdfs代替hadoop。

hadoop fs -ls /user/cloudera/table1
hadoop fs -cat /user/cloudera/table1/samplefile.txt

注意:如果数据为可读格式,则为文本格式。

要从pyspark中的hdfs导入数据,可以使用textFile选项。

textFile = sc.textFile("hdfs://namenodehost/user/cloudera/table1/samplefile.txt")
textFile.first()

参考:reading-a-file-in-hdfs-from-pyspark

© www.soinside.com 2019 - 2024. All rights reserved.