标签: xmldataset

将 xml 数据加载到 hive 表中:org.apache.hadoop.hive.ql.metadata.HiveException

我正在尝试将 XML 数据加载到 Hive 中,但出现错误:

java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while processing row {"xmldata":""}

我使用的 xml 文件是:

<?xml version="1.0" encoding="UTF-8"?>
<catalog>
<book>
  <id>11</id>
  <genre>Computer</genre>
  <price>44</price>
</book>
<book>
  <id>44</id>
  <genre>Fantasy</genre>
  <price>5</price>
</book>
</catalog>
Run Code Online (Sandbox Code Playgroud)

我使用的配置单元查询是:

1) Create TABLE xmltable(xmldata string) STORED AS TEXTFILE;
LOAD DATA lOCAL INPATH '/home/user/xmlfile.xml' OVERWRITE INTO TABLE xmltable;

2) CREATE VIEW xmlview (id,genre,price)
AS SELECT
xpath(xmldata, '/catalog[1]/book[1]/id'),
xpath(xmldata, '/catalog[1]/book[1]/genre'),
xpath(xmldata, '/catalog[1]/book[1]/price')
FROM xmltable;

3) CREATE TABLE xmlfinal AS SELECT * FROM xmlview;

4) SELECT * FROM xmlfinal WHERE …
Run Code Online (Sandbox Code Playgroud)

hive xmldataset

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

c#Winforms:DataGridView使事件没有获得上次更新的单元格的值

我有一个带有DataGridViewon和Back/Next按钮的WinForms屏幕.在FormLoad,网格上填充了XML文档中的值.然后,用户可以更改网格中任何单元格的值.我已经创建了一个SaveGridValuesToXml方法,它使用网格单元格中的更新值更新XML文件.

这大部分工作正常,我已经SaveGridValuesToXml从网格上的Leave事件中解雇了该方法,因此当用户单击后退或下一步并且网格失去焦点时,将调用save方法.

我遇到的问题是所有单元格值都在XML文件中正确更新和反映,除了网格失去焦点时具有焦点的单元格.例如,在三列网格中,如果我更新第一行中的第一个,第二个和第三个单元格,当网格失去焦点时,我在第一个和第二个单元格中所做的更改将保存到我的XML文件中.

代码示例如下 - 在LoadXmlDataIntoGridGridView()加载父窗体时调用该方法.

XmlDataDocument xmlData = new XmlDataDocument();

private void LoadXmlDataIntoGridGridView()
{        
    xmlData.DataSet.ReadXml(@"C:\testFile.xml");
    uxMappingDataGridView.DataSource = xmlData.DataSet;
    uxMappingDataGridView.DataMember = "Item";
}

private void uxBackButton_Click(object sender, EventArgs e)
{
    this.Hide();
    uxSettingsUserControl settingsScreen 
       = ParentForm.Controls["uxSettingsUserControl"] as uxSettingsUserControl;
    settingsScreen.Show();
}

private void uxNextButton_Click(object sender, EventArgs e)
{
    this.Hide();
    uxLoadScriptUserControl loadScriptScreen 
       = ParentForm.Controls["uxLoadScriptUserControl"] as uxLoadScriptUserControl;
    loadScriptScreen.Show();
}

private void uxMappingDataGridView_Leave(object sender, EventArgs e)
{
    SaveGridValuesToXml();
}

private void SaveGridValuesToXml()
{   
    xmlData.DataSet.WriteXml(@"C:\testFile.xml");
} …
Run Code Online (Sandbox Code Playgroud)

c# xml datagridview xmldataset winforms

2
推荐指数
1
解决办法
2602
查看次数

标签 统计

xmldataset ×2

c# ×1

datagridview ×1

hive ×1

winforms ×1

xml ×1