小编Thi*_*Eye的帖子

Spark Sql:TypeError("StructType不能接受类型%s中的对象"%type(obj))

我目前正在使用PyODBC从SQL Server中提取数据并尝试以近实时(NRT)方式插入Hive中的表.

我从源代码获得了一行并转换为List [Strings]并以编程方式创建了schema,但在创建DataFrame时,Spark抛出了StructType错误.

>>> cnxn = pyodbc.connect(con_string)
>>> aj = cnxn.cursor()
>>>
>>> aj.execute("select * from tjob")
<pyodbc.Cursor object at 0x257b2d0>

>>> row = aj.fetchone()

>>> row
(1127, u'', u'8196660', u'', u'', 0, u'', u'', None, 35, None, 0, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, u'', 0, None, None)
>>> rowstr = map(str,row)
>>> rowstr
['1127', '', '8196660', '', '', '0', '', '', 'None', '35', …
Run Code Online (Sandbox Code Playgroud)

python apache-spark apache-spark-sql spark-dataframe

8
推荐指数
1
解决办法
1万
查看次数

Pandas DataFrame 转置多列

我有一个如下的数据框。

a   x   10
b   x   11
c   x   15
a   y   16
b   y   17
c   y   19
a   z   20
b   z   21
c   z   23
Run Code Online (Sandbox Code Playgroud)

我想将其转换如下:

    x   y   z
a   10  16  20
b   11  17  21
c   15  19  23

Run Code Online (Sandbox Code Playgroud)

目前我正在将原始 DF 制作成多个数据帧(每个用于“a”、“b”和“c”),然后转置并合并回来。

我相信会有一个最佳解决方案。因此寻求帮助。

python dataframe pandas

6
推荐指数
1
解决办法
4636
查看次数

如何动态更改下拉值

我是 Bokeh 的新手,需要一些帮助。我正在尝试根据其他下拉 2 框选择动态更改下拉 1 框值。我查看了散景示例,但找不到一个。这是我搞乱的代码。

source = ColumnDataSource(data=dict(server_list=["old_value_1", "old_value_2"]))

def update():
    tech_val = tech.value
    if tech_val == 'art':
        source.data = dict(
            server_list=["new_value_1", "new_value_2"]
        )
#         servers.update()

env = Select(title="Environment", value="PROD", options=["DEV", "QA", "PROD"])
tech = Select(title="Subject Area", value="science", options=["science", "art"])

servers = Select(title="Server", options=source.data['server_list'])
controls = [env, tech, servers]
for control in controls:
    control.on_change('value', lambda attr, old, new: update())

sizing_mode = 'fixed'

inputs = widgetbox(*controls, sizing_mode=sizing_mode)
l = layout([[inputs]], sizing_mode=sizing_mode)
curdoc().add_root(l)
curdoc().title = "Sliders"
Run Code Online (Sandbox Code Playgroud)

python data-visualization bokeh

3
推荐指数
1
解决办法
2615
查看次数