我下面就它们的主要git的一个xgboost例如在- https://github.com/dmlc/xgboost/blob/master/demo/guide-python/basic_walkthrough.py#L64
在这个例子中,他们正在读取直接放入的文件dMatrix-
dtrain = xgb.DMatrix('../data/agaricus.txt.train')
dtest = xgb.DMatrix('../data/agaricus.txt.test')
Run Code Online (Sandbox Code Playgroud)
我查看了dMatrix代码,似乎没有办法简单地看一下数据的结构 - 正如我们通常在pandas中所做的那样pandas.DataFrame.head()
xgboost文档中它提到,我们可以转换numpy.ndarray到xgboost.dMatrix-我们可以以某种方式将其转换回-从xgboost.dMatrix到numpy.ndarray,或者是熊猫数据帧?我没有看到他们的代码可能的方式 - 但也许有人知道一种方式?
或者有没有办法简要地看看数据是如何形成的xgboost.dMatrix?
霍华德,提前谢谢
根据这个问题和我读过的文档,Spark Streaming 的 foreachRDD( someFunction ) 只会在驱动程序进程中执行someFunction本身,但如果在 RDD 上完成了操作,那么它们将在执行器上完成 - RDD 所在的位置。
以上所有内容也适用于我,尽管我注意到如果我打开检查点,那么似乎 spark 正在尝试序列化 foreachRDD( someFunction ) 中的所有内容并发送到某个地方 - 这对我造成了问题,因为使用的对象之一不可序列化(即 schemaRegistryClient)。我尝试了 Kryo 序列化程序,但也没有运气。
如果我关闭检查点,序列化问题就会消失。
有没有办法让 Spark 不序列化 foreachRDD( someFunc ) 中使用的内容,同时继续使用检查点?
非常感谢。