我使用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
默认情况下,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()