2017-06-02 62 views
1

在我的數據科學體驗中,我能夠連接到BigInsights中的Hive數據庫並讀取表模式。但數據科學經驗似乎無法讀取表格內容,因爲我的計數爲零!這裏是我的一些設置:數據科學體驗以空Hive表響應

conf = (SparkConf().set("com.ibm.analytics.metadata.enabled","false"))  

spark = SparkSession.builder.enableHiveSupport().getOrCreate()  

dash = { 
'jdbcurl': 'jdbc:hive2://nnnnnnnnnnn:10000/;ssl=true;', 
'user': 'xxxxxxxxxx', 
'password': 'xxxxxxxxx', 
}  

spark.conf  

offers = spark.read.jdbc(dash['jdbcurl'], 
        table='offers', 
        properties={"user" : dash["user"], 
           "password" : dash["password"]})  

offers.count()  returns: 0 

offers.show()  
    returns: 

+-----------+----------+  
|offers.name|offers.age|  
+-----------+----------+  
+-----------+----------+  

謝謝。

回答

0

是的,我能夠看到與配置單元jdbc連接器相同的行爲。 我試過這個python連接器,它返回正確的計數。

https://datascience.ibm.com/docs/content/analyze-data/python_load.html

from ingest.Connectors import Connectors

`HiveloadOptions = { Connectors.Hive.HOST      : 'bi-hadoop-prod-4222.bi.services.us-south.bluemix.net', 
        Connectors.Hive.PORT      : '10000', 
        Connectors.Hive.SSL      : True, 
        Connectors.Hive.DATABASE     : 'default', 
        Connectors.Hive.USERNAME     : 'charles', 
        Connectors.Hive.PASSWORD     : 'march14march', 
        Connectors.Hive.SOURCE_TABLE_NAME   : 'student'} 

`

`HiveDF = sqlContext.read.format("com.ibm.spark.discover").options(**HiveloadOptions).load()` 

HiveDF.printSchema()

HiveDF.show()

HiveDF.count()

謝謝, Charles。